2015-12-19 2 views
0

Вот моя ситуация:
Развертывание приложения на сервере A;
И я развернул свой монгодб на сервере Б;
mongodb защищен аутентификацией. Я знаю, что я должен соединиться как:
Nodejs, mongodb, аутентификация на другом сервере

mongo IP_ADDRESS/testDB -u username -p password --authenticationDatabase admin 


Так моя проблема:

mongoClient = require("mongo").MongoClient;<br> 
    url = "mongodb://username:[email protected]_ADDRESS:27017/testDB" 

, когда я использую, чтобы имя пользователя имеет роль корня, и с этим URL, я могу получить доступ только к базе данных администратора, не более других. помогите!

+0

Можете ли вы войти в базу данных MongoDB и проверить другие существующие базы данных? – harshavmb

ответ

0

Ваш пользователь существует только в admin db, поэтому вам необходимо предоставить authsource для mongoClient.connect. это не соединение базы данных, только для аутентификации. Пример для ситуации:

mongoClient = require("mongo").MongoClient; 
url = "mongodb://username:[email protected]_ADDRESS:27017/testDB?authSource=admin 

здесь документация для параметров URL. https://docs.mongodb.org/manual/reference/connection-string/#uri.authSource

+0

Да, точно, я не читал мысли полностью, и я действительно должен это делать. – cinqS

Смежные вопросы