在MongoDB的本地NodeJS驱动程序中,何时使用MongoClient构造函数以及何时使用Db构造函数?

MongoClient和Db构造函数在手册中描述。 什么时候应该使用一个,什么时候使用另一个?

MongoClient通常应该是首选的,唯一的主要问题是更新(1.2+)。

让我们引用手册:

MongoClient或如何以一种新的更好的方式进行连接

从驱动程序版本1.2我们介绍了一个新的连接类,所有的官方驱动程序具有相同的名称。 这是为了确保我们为我们所有的API提供一个可识别的前端。 这并不意味着您的现有应用程序将会中断,而是我们鼓励您使用新的连接api来简化您的应用程序开发。

此外, 我们正在使新的连接类MongoClient确认所有对MongoDB的写入操作,与已closures确认的现有连接类Db相比较。

MongoClient确认所有对数据库的写入以及在连接中select实际的数据库时,最大的两个变化是事实。

使用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(); }); 

vs 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(); });