Javascript 在MongoDB';的本机NodeJS驱动程序,何时使用MongoClient构造函数,何时使用Db构造函数?

Javascript 在MongoDB';的本机NodeJS驱动程序,何时使用MongoClient构造函数,何时使用Db构造函数?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,中介绍了MongoClient和Db构造函数。什么时候应该使用一个,什么时候应该使用另一个?通常应首选MongoClient,唯一的主要问题是它较新(1.2+) 让我们引用 MongoClient或如何以新的更好的方式连接 从驱动程序版本1.2开始,我们引入了一个新的连接类 我们所有的官方司机都有相同的名字。这是为了确保 我们为所有API提供了一个可识别的前端。这并不意味着 您现有的应用程序将中断,但我们 鼓励您使用新的连接api来简化 应用程序开发 此外,我们正在使新的连接类MongoClie

中介绍了MongoClient和Db构造函数。什么时候应该使用一个,什么时候应该使用另一个?

通常应首选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的vs:

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