2015-05-07 6 views
4

Я могу подключиться к БД через терминал, но получаю эту ошибку, используя мангуст и глоток. мангуст/node_modules/MongoDB/Библиотека/MongoDB/подключение/base.js: 246 MongoError: Ошибка аутентификацииMongoError: auth failed mongoose connection sting

Моя строка соединения:

mongodb://usr:[email protected]:27017/dbname 

Любая идея, что это может быть?

+0

соединение жала -> лол, жалить – bholagabbar

ответ

3

У вас есть пользовательский адрес для dbname? По умолчанию пользователю не требуется подключение к базе данных, если вы явно не установили его. Если вы этого не сделали, попробуйте подключиться к mongodb://localhost:27017/dbname и посмотреть, есть ли у вас ошибка.

+1

я пользователя и пароль, в противном случае данные будут доступны для всех. Я также пытался с пользователем root, но проблема существует. Я использую mongoose, просто заинтересован, если кто-то другой выпустил подобную проблему ... и решил) – Sunkat

+0

такой же вопрос здесь. Я заметил, что у меня только проблема, когда я делаю ссылку на второй или более высокий номер db, а не на первый, который я сделал. – Martian2049

1

Я нашел решение hier, похоже, когда вы создаете пользователя из оболочки mongo, он делает SCRAM-SHA-1 вместо MongoDB-CR. Таким образом, решение создать нового пользователя с аутентификацией MongoDB-CR.

MongoDB-CR Authentication failed

+0

эй, спасибо за ответ. Я попробую. Но мы перешли на sqlite. – Sunkat

4

Вы можете захотеть сделать что-то вроде этого ...

var opt = { 
    user: config.username, 
    pass: config.password, 
    auth: { 
     authdb: 'admin' 
    } 
}; 
var connection = mongoose.createConnection(config.database.host, 'mydatabase', config.database.port, opt); 

опция 'authdb' является базой данных вы создали пользователя под.

17

Я установил Mean в https://bitnami.com/stack/mean для окон 7 Когда установите я сделать пароль 123456

Синтаксис сделать подключение к MongoDB с мангуста

mongoose.connect("mongodb://[usr]:[pwd]@localhost:[port]/[db]",{auth:{authdb:"admin"}}); 

Если нет

{auth:{authdb:"admin"}} 

Вы будете получить сообщение об ошибке «MongoError: auth failed»

Пример: Монго-тест/app.js

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://root:[email protected]/test',{auth:{authdb:"admin"}}); 
mongoose.set('debug', true); // turn on debug