是否仍然需要宣传MongoDB驱动程序?

时间:2015-08-10 09:49:58

标签: node.js mongodb promise bluebird

此问题的答案是否仍然相关:How can I promisify the MongoDB native Javascript driver using bluebird?

我不知道从什么时候开始更新,但MongoDB的2.0 JS驱动程序在选项对象promiseLibrary中有一个属性:http://mongodb.github.io/node-mongodb-native/2.0/api/MongoClient.html

大多数方法/函数都会返回一个promise,例如Cursor.toArray()

但是,我无法使用这个新选项找到一个示例,但使用它不会更简单:

MongoClient.connect('mongodb://URL', { promiseLibrary: require('bluebird') });

或者这个定义是错的? - 在哪种情况下,应该如何正确定义?

更新

代码在io.js上运行,所以我甚至可能不需要指定promiseLibrary,因为驱动程序会使用ES6承诺? - 但是,据说蓝鸟承诺的速度较慢:

Why are native ES6 promises slower and more memory-intensive than bluebird?

UPDATE2: 我已经添加了bluebird标签 - 如果promisifying真的比使用MongoDB自己的实现更好,那么从事bluebird工作的人可以提供更多细节吗?

1 个答案:

答案 0 :(得分:1)

  

是否仍然需要宣传MongoDB驱动程序?

不,他们现在已经建立了对像bluebird这样的承诺库的支持。我认为我们应该以不同的方式提出这个问题:

  

宣传MongoDB驱动程序是个好主意吗?

或许,bluebird在将回调API转换为承诺方面比Mongo驱动程序在内部通过更轻松地包装更好。如果“在前几天”仍然可以更快地宣传它。