簡體   English   中英

如何解決在AWS-Cloud9上連接到Mongodb的連接錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM