更改mongo数据库

我想使用native 2.0 mongodb驱动程序查询我的副本集中的集合节点。 我可以连接并通过admin数据库进行身份validation,但是如何切换数据库以查询我感兴趣的集合?

 var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient; var url = "mongodb://user:pass@db1,db2,db3/admin"; MongoClient.connect(url, function(err, db) { console.log("Connected correctly to server"); console.log("Current database", db.databaseName); // switch context to database foo // foo.bar.findOne(); db.close(); }); 

从MongoDB 2.0.0驱动程序文档

间接反对另一个数据库

在某些情况下,您可能需要对另一个数据库(而不是您想要连接的数据库)进行身份validation。 这被称为委托authentication。 假设你想连接到foo数据库,但用户是在admin数据库中定义的。 让我们看看我们将如何实现这一点。

 var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient; var url = "mongodb://user:pass@db1,db2,db3/foo?authSource=admin"; MongoClient.connect(url, function(err, db) { console.log("Connected correctly to server"); console.log("Current database", db.databaseName); //db==foo db.close(); });