Как устранить ошибку подключения при подключении к Mongodb на AWS-Cloud9 - PullRequest
0 голосов
/ 11 июня 2019

Я следую учебному пособию по Web Dev Simplified, используя среду AWS-Cloud9 Ubuntu. Все шло хорошо, пока я не подключился к 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.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, так это как симптом чего-то еще? Возможно, разрешения? Я в тупике. Любые указатели действительно ценятся.

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Я решил это сейчас.Казалось, что dbpath по умолчанию был /var/lib/mongodb

Мне нужно было создать каталог данных в моем проекте и установить для него значение dbpath в /etc/mongodb.conf

Мне также нужно было обеспечить правильное разрешениебыли настроены для Mongodb для доступа к этой новой папке.Так как я использую AWS Cloud9, я использовал

sudo chown mongodb:mongodb /home/ubuntu/environemnt/data/

Несколько настроек учебника (некоторые из них были устаревшими), и все хорошо.

0 голосов
/ 11 июня 2019

пожалуйста, посмотрите по этой ссылке: 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

...