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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


пожалуйста, взгляните на эту ссылку: 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
Мне нужно было создать каталог данных в моем проекте и установить путь к нему в /etc/mongodb.conf
Мне также нужно было убедиться, что для MongoDB установлено правильное разрешение на доступ к этой новой папке. Поскольку я использую AWS Cloud9, я использовал
sudo chown mongodb:mongodb /home/ubuntu/environemnt/data/
Несколько правок в туториале (поскольку некоторые из них устарели), и все в порядке.
Спасибо за супер быстрый ответ. Я попробовал описанное выше (без новой установки) и получил следующую ошибку при выполнении командной строки ./mongod Error parsing: непризнанный параметр «--rest». Есть ли разница между mongodb и mongodb-org?