MongoClient 和 Db 构造函数在手册中进行了描述。什么时候应该使用一个,什么时候应该使用另一个?
问问题
2299 次
1 回答
7
MongoClient 通常应该是首选,唯一的主要问题是它更新(1.2+)。
让我们引用手册:
MongoClient 或如何以新的更好的方式连接
从驱动程序版本 1.2 开始,我们引入了一个新的连接类,它在我们所有的官方驱动程序中都具有相同的名称。这是为了确保我们为所有 API 提供可识别的前端。这并不意味着您现有的应用程序会中断,而是我们鼓励您使用新的连接 api 来简化您的应用程序开发。
此外,我们正在使新的连接类 MongoClient 确认对 MongoDB 的所有写入,与关闭确认的现有连接类 Db 形成对比。
因此,最大的两个变化是 MongoClient 确认所有对 DB 的写入以及在连接中选择实际数据库的时间。
使用 MongoClient:
var MongoClient = require('mongodb').MongoClient
, Server = require('mongodb').Server;
var mongoClient = new MongoClient(new Server('localhost', 27017));
mongoClient.open(function(err, mongoClient) {
var db1 = mongoClient.db("mydb"); // The DB is set here
mongoClient.close();
});
与 Db 相比:
// db is selected in the next line, unlike with MongoClient and most drivers to other databases
var db = new Db('test', new Server('locahost', 27017));
// Establish connection to db
db.open(function(err, db) {
assert.equal(null, err);
db.on('close', test.done.bind(test));
db.close();
});
于 2013-07-25T23:04:07.390 回答