2013-12-11 2 views
1

Я пытаюсь выяснить, как подключиться к MongoDB БД с помощью встроенного драйвера узла Монго и у меня есть два вопроса:Как инициализировать родной Монго в NodeJS с в Вход пароль

  • Мой пароль содержит @ sign, чтобы он нарушил нормального пользователя: pass @ host connection string format
  • Как мне отобразить базы данных из того, что у меня есть?

Любые идеи о том, как решить эту проблему?

Вот попытка, которая не работает:

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 –

Смежные вопросы