2015-04-30 54 views
1

我試圖用mongoose從node.js連接mongodb。 我在連接到多個服務器時遇到問題。 我可以連接到單臺服務器。 如果我嘗試連接多個服務器(因爲我想連接到複製套件),它會引發錯誤失敗。mongoose連接到mongodb 2.6.1副本集auth失敗

var options = { 
'db': { 
    'native_parser': true 
}, 
'server': { 
    'auto_reconnect': true, 
    'poolSize': 5, 
    'socketOptions' : { 'keepAlive': 1 } 
}, 
'replset': { 
    'readPreference': 'nearest', 
    'strategy': 'ping', 
    'rs_name': 'rs01', 
    'socketOptions' : { 'keepAlive': 1 } 
} 
}; 

var connect = mongoose.connect('mongodb://adminname:[email protected]:27017,host2:27017,host3:27017/myDatabase', options , function (err) { 
"use strict"; 
if (err) { 
    console.log(err); 
}else{ 
    console.log("connected") 
} 

它顯示驗證失敗引發此錯誤

{ [MongoError: auth failed] name: 'MongoError', message: 'auth failed', ok: 0, errmsg: 'auth failed', code: 18 }

回答

0
mongoConnectionString : "mongodb://dbusername:[email protected]:27017/db,host2:27017/db,host3:27017/db", 

mongoDbOptions : { 
    db: { 
     native_parser: true 
    }, 
    server: { 
     poolSize: 5 
    }, 
    replset: { 
     rs_name: 'rplname', 
     readPreference: 'ReadPreference.secondaryPreferred' 
    }, 
    pluralization: false, 
    host: 'localhost', 
    port : '27017' 
}, 
mongoose.connect(mongoConnectionString, mongoDbOptions, function (error) { 
    "use strict"; 
    if (error) { 
     console.log(error); 
    } 
    else { 
     console.log("Connection to mongo successful"); 
    } 
}); 

這對我的作品!謝謝;