[英]How to resolve connection error connecting to Mongodb on AWS-Cloud9
我正在使用AWS-Cloud9 Ubuntu環境關注“Web Dev Simplified”教程。 一切順利,直到我不得不連接到mongodb。 數據庫似乎與...安裝良好
sudo apt install -y mongodb
並且正在運行。
ubuntu:~/environment $ sudo systemctl status mongodb
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-06-11 13:19:28 UTC; 20min ago
Docs: man:mongod(1)
Main PID: 17781 (mongod)
Tasks: 23 (limit: 1152)
CGroup: /system.slice/mongodb.service
└─17781 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Jun 11 13:19:28 ip-172-31-16-249 systemd[1]: Started An object/document-oriented database.
本教程使用mongoose並在連接時拋出錯誤。 這是連接字符串
mongoose.connect("mongodb://127.0.0.1:27017/examrooms",{useNewUrlParser: true})
const db=mongoose.connect()
這是錯誤
MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
檢查mongodb.conf文件顯示以下內容
sudo cat /etc/mongodb.conf
# mongodb.conf
# Where to store the data.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 127.0.0.1
#port = 27017
默認情況下安全性已關閉。 所以我有正確的IP,我假設端口默認為27017。
顯然我正在傳遞一個字符串作為uri,所以這是其他東西的症狀嗎? 也許權限? 很難過。 任何指針都非常感激。
請看這個鏈接: https : //community.c9.io/t/setting-up-mongodb/1717
sudo apt-get install -y mongodb-org $ mkdir data $ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod $ chmod a+x mongod
我現在解決了這個問題。 似乎默認的dbpath是/var/lib/mongodb
我需要在項目中創建一個數據目錄,並將dbpath設置為/etc/mongodb.conf
的數據目錄
我還需要確保為Mongodb設置了正確的權限才能訪問這個新文件夾。 正如我使用的是AWS Cloud9
sudo chown mongodb:mongodb /home/ubuntu/environemnt/data/
對教程進行了一些調整(因為其中一些已經過時)並且一切都很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.