我使用express连接到我的mongoDB:
mongodb.MongoClient.connect(mongourl, function(err, database) {
// How would one switch to another database here?
});
我必须首先连接到admin数据库。建立连接后,我想切换数据库。
虽然我搜索了官方文档,但我无法找到符合我需求的东西。
我知道MongoClient::open()
方法,但我想坚持connect()
。
感谢任何帮助。
答案 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
});
});