Я пытаюсь подтвердить подлинность моего заявления о соединении с mongoose to mongodb. У меня есть
//In app.js
mongoose.connect('mongodb://localhost:27017/databasenamehere', {
useNewUrlParser: true,
useUnifiedTopology: true,
user: 'username',
pass: 'password'
});
с файлом /etc/mongo.conf, настроенным как
...
#bindIP //commented this out
...
security:
authentication: enabled
...
, и я также попытался поместить его в строку .connect как
//In app.js
mongoose.connect('mongodb://username:password@localhost:27017/databasenamehere', {
useNewUrlParser: true,
useUnifiedTopology: true
});
Также пробовал по документам:
mongod --auth --port 27017 --dbpath /var/lib/mongodb
//and
mongod --auth --port 27017 --dbpath /var/lib/mongodb
Документам: https://docs.mongodb.com/manual/tutorial/enable-authentication/
, но это также не работает. Когда я захожу на страницу в моем приложении стека MEAN, которое делает запрос к бэкэнду NodeJS для получения данных из MongoDB в F12 (инструменты разработчика chrome), это показывает, что вызов имеет статус (сбой) и говорит: «Не удалось загрузить данные ответа»,Используемый мной сервер имеет Ubuntu 18.04.
Я ожидаю увидеть, что app.js успешно подключится к mongoDB с пользователем, которого я создал в mongoDB для базы данных, для которой я выбрал этого пользователя. Это значит, что я отключил защиту (закомментированные выше строки), создал пользователя и дал привилегии readWrite созданному пользователю и привязал его к моей нужной БД, а затем снова включил защиту в файле mongo.conf согласно документам.
Кроме того, хотелось бы знать, как использовать PM2 (npm install pm2) и всегда запускать свой внутренний код nodeJS, чтобы Node всегда выполнял мой app.js, чтобы вызовы API были успешными.