[英]Connecting to MongoHQ on Node, error
我正在嘗試將我構建的應用程序連接到MongoHQ數據庫。
這是代碼:
mongo = require('mongodb')
Server = mongo.Server
Db = mongo.Db
BSON = mongo.BSONPure;
con = null;
server = new Server('staff.mongohq.com', 'THE_PORT', {auto_reconnect: true});
DBCon = new Db('THE_DB', server, {safe: false});
DBCon.authenticate('test_user', 'test_pass', function() {});
DBCon.open(function(err, db) { if(!err) { con = db; } });
我有在MongoHQ中創建的數據庫和用戶。 當我從命令行連接時,一切都很完美。
但是,當我運行我的應用程序時,我收到此錯誤:
return this.connectionPool.getAllConnections();
TypeError: Cannot call method 'getAllConnections' of undefined
它無法連接到數據庫。 但是當我沒有身份驗證連接到我的本地數據庫時,它可以正常工作。
那么錯誤是什么,我應該如何解決?
謝謝! :d
在建立連接之前,將發送您的身份驗證呼叫。 您需要在“打開”回調中嵌套身份驗證調用,這樣的事情應該起作用:
mongo = require('mongodb')
Server = mongo.Server
Db = mongo.Db
BSON = mongo.BSONPure;
con = null;
server = new Server('staff.mongohq.com', 'THE_PORT', {auto_reconnect: true});
DBCon = new Db('THE_DB', server, {safe: false});
DBCon.open(function(err, db) {
if(!err) {
db.authenticate('test_user', 'test_pass', function(err){
if(!err) con = db;
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.