MongoDB / Express - 通过connect()连接后如何切换数据库

时间:2014-01-31 09:12:36

标签: javascript mongodb express

我使用express连接到我的mongoDB:

mongodb.MongoClient.connect(mongourl, function(err, database) {

      // How would one switch to another database here?

});

我必须首先连接到admin数据库。建立连接后,我想切换数据库。

虽然我搜索了官方文档,但我无法找到符合我需求的东西。

我知道MongoClient::open()方法,但我想坚持connect()

感谢任何帮助。

2 个答案:

答案 0 :(得分:10)

您可以切换到另一个数据库,如下所示:

mongodb.MongoClient.connect(mongourl, function(err, database) {
  // switch to another database
  database = database.db(DATABASE_NAME);
  ...
});

docs

编辑:澄清:这也允许您通过同一连接打开多个数据库:

mongodb.MongoClient.connect(mongourl, function(err, database) {
  // open another database over the same connection
  var database2 = database.db(DATABASE_NAME);

  // now you can use both `database` and `database2`
  ...
});

答案 1 :(得分:1)

您只需再次调用MongoClient.connect,因为每个数据库有一个连接。这意味着,您无法更改现有连接的数据库。你必须再次连接:

mongodb.MongoClient.connect(mongourl, function(err, database) {
    mongodb.MongoClient.connect(mongourl_to_other_database, function(err, database2) {
        // use database or database2
    });
});