2013-12-11 69 views
1

我試圖找出如何連接到我的MongoDB數據庫使用本地節點蒙戈驅動程序和初始化本地蒙戈中的NodeJS我有兩個問題:如何與登陸密碼

  • 我的密碼包含@標誌使它打破了普通用戶:pass @ host連接字符串格式
  • 如何從下面列出的數據庫中列出數據庫?

關於如何解決這個問題的任何想法?

這裏是行不通的嘗試:

var Mongo = require('mongodb'); 

var server = new Mongo.Server('mongodb://myhost', 27017); 
var db = new Mongo.Db('test', server); 

db.open(function(err, db) { 
    console.log(err); //unable to connect 
}); 

回答

3

對於未來的讀者,我能夠與連接選項uri_decode_auth解決這個問題。在將其嵌入到連接字符串中之前,您需要encodeURIComponent(password)

下面是一個完整的工作示例:

MongoClient.connect(connection, { uri_decode_auth: true }, function(err, db) { 

    if(err) { 
    return cb(err); 
    } 

    db.admin().listDatabases(function(err, dbs) { 
    console.log(dbs); 
    }); 
}); 
1

由於這個answer提到:

的解決方案是與%40

更換@我用C#驅動程序測試它就像一個魅力。

+0

謝謝,這一個幫我節點js –