Javascript 如何使用节点mongodb native连接到Heroku?

Javascript 如何使用节点mongodb native连接到Heroku?,javascript,node.js,mongodb,heroku,Javascript,Node.js,Mongodb,Heroku,我对如何连接Heroku上的MongoLab感到困惑。 要使用uri连接到Heroku,我尝试遵循以下示例: 我查看了他的web.js和deep.js。 他们都做了类似的事情: connect.createServer( require( 'connect-jsonrpc' )( contacts ) ).listen( port ); 但是只有“联系人”中的数据库查询才能传递到此服务器? 是否允许我为每个数据库访问方法执行多个connect.createServer 以下是我在本地

我对如何连接Heroku上的MongoLab感到困惑。 要使用uri连接到Heroku,我尝试遵循以下示例:

我查看了他的web.js和deep.js。 他们都做了类似的事情:

connect.createServer(
    require( 'connect-jsonrpc' )( contacts )
).listen( port );
但是只有“联系人”中的数据库查询才能传递到此服务器? 是否允许我为每个数据库访问方法执行多个connect.createServer

以下是我在本地连接MongoDB时的部分代码。我不确定如何修改它以连接到Heroku上的MongoLab

有人能教我如何修改代码来连接吗?或者解释一下这些概念?我不知道为什么我发布的那个网站的作者使用了这么多回调来进行数据库调用,而我下面的方法似乎足够简单(我对JavaScript不熟悉,不擅长回调)


您连接到mongolab数据库(因此无法创建新的“博客”数据库)。process.env.MONGOLAB_URI还包括数据库名称。查看您的蒙古包uri:

heroku config | grep MONGOLAB_URI
它看起来像:
mongodb://heroku_app123456:password@dbh73.mongolab.com:27737/heroku_app123456

在github上有。

使用“连接”连接到mongo,而不是定义db、服务器、客户端:

var connect = require('connect');
var mongo = require('mongodb');
var database = null;

var mongostr = [YOUR MONGOLAB_URI];

mongo.connect(mongostr, {}, function(error, db)
    {       
            console.log("connected, db: " + db);

            database = db;

            database.addListener("error", function(error){
            console.log("Error connecting to MongoLab");

            });
});

我在看那个例子。我可以多次调用connect.createServer(…)吗?因为我定义了多个需要访问数据库的url端点。我也不知道如何从url参数中传入我自己的参数。您不需要为每个url端点创建服务器。要处理数据库操作,可以创建一种提供程序。请参见以下示例:
var connect = require('connect');
var mongo = require('mongodb');
var database = null;

var mongostr = [YOUR MONGOLAB_URI];

mongo.connect(mongostr, {}, function(error, db)
    {       
            console.log("connected, db: " + db);

            database = db;

            database.addListener("error", function(error){
            console.log("Error connecting to MongoLab");

            });
});