Mongodb本机驱动程序,连接字符串错误

时间:2013-11-19 08:40:02

标签: node.js mongodb

我在mongolab.com上制作了一个沙箱,我在本地机器上运行服务器。

编译“app.js”文件时

   var uri='mongodb://inyourpc:password@ds047198.mongolab.com:47198/fairywayrpg';
   mongodb.MongoClient.connect(uri, function(err, db) {  
        if(err) throw err;
   }

它会抛出以下错误:
"URL must be in format with mongodb://user:pass@host:port/dbname"
任何建议,都是开放的。顺便说一句,我使用MongoDB新版本3.1.19(我相信)。

2 个答案:

答案 0 :(得分:0)

首先,你需要MongoLab上的环境变量。

  

MONGOLAB_URI

MONGOLAB_URI采用以下格式。

单节点计划的URI格式:

mongodb://dbuser:dbpass@host:port/dbname

所以,你的代码应该是这样的:

var mongoUri = process.env.MONGOLAB_URI;
mongo.connect( mongoUri, {}, dbConnectCallback );
function dbConnectCallback( error, db )
{
    database = db;

    database.addListener( "error", handleError );
    database.createCollection( "contacts", createCollectionCallback );
};
function handleError( error )
{
    console.log( "Error connecting to MongoLab\n" + error );
};

答案 1 :(得分:0)

Andrew是对的,URI看起来不错。 在mongodb之前有一个空格,这使我的URI成为假.P.S我在开始时添加了双引号而不是单引号。 这就是全部,感谢大家的帮助......!感激不尽!

      "mongodb://inyourpc:password@ds047198.mongolab.com:47198/fairywayrpg"