2014-01-17 88 views
1

我有一個用戶(用戶名:HXH,密碼:1234)在我的本地的MongoDB,當我執行:的NodeJS MongoError:身份驗證失敗

[email protected]:~/share/nodejs/appid2zgk7rv83v$ mongo 
MongoDB shell version: 2.4.6 
connecting to: test 
> use admin 
switched to db admin 
> db.auth('hxh','1234') 
1 
> 

這說明我的用戶名和密碼就OK了,但是當我嘗試MongoDB的連接在我的應用程序的NodeJS:

var Db = require('mongodb').Db; 
var Server = require('mongodb').Server; 
var db = new Db('test', new Server('localhost', '27017')); 
db.open(function(err, db) { 
    db.authenticate('hxh', '1234', function(err, result) { 
    ..... 
    }); 
}); 

我得到了錯誤

MongoError: auth fails 

那麼,爲什麼我得到這個錯誤?

回答

0

可能是你應該通過你的DBNAME即「管理」,而不是當「測試」

var db = new Db('admin', new Server('localhost', '27017')); 
+0

感謝,這個工程,但我只想連接'test'數據庫,而不是'管理員'我該怎麼辦? – HXH

+1

我知道,只是'var secondDb = db.db(「test」);' – HXH

0

嘗試創建用戶並通過測試表: 使用的測試; db.createUser ...