pet*_*ter 6 mongodb node.js promise bluebird
这个问题的答案是否仍然相关:如何使用bluebird宣传MongoDB本机Javascript驱动程序?
我不知道从什么时候开始更新,但是MongoDB的2.0 JS驱动程序在options对象中有一个属性promiseLibrary:http://mongodb.github.io/node-mongodb-native/2.0/api/MongoClient.html
并且大多数方法/函数确实返回了一个承诺,例如Cursor.toArray().
但是,我找不到使用这个新选项的示例,但使用时不会更简单:
MongoClient.connect('mongodb://URL', { promiseLibrary: require('bluebird') });
Run Code Online (Sandbox Code Playgroud)
或者这个定义是错的? - 在哪种情况下,应该如何正确定义?
更新:
代码在io.js上运行,所以我甚至可能不需要指定一个promiseLibrary驱动程序将使用ES6承诺? - 但是,据说蓝鸟的承诺比较慢:
Update2: 我添加了bluebird标签 - 如果promisifying真的比使用MongoDB自己的实现更好的话,也许在bluebird上工作的人可以提供更多细节吗?
是否还需要承诺 MongoDB 驱动程序?
不,他们现在内置了对 bluebird 等 Promise 库的支持。我认为我们应该以不同的方式问这个问题:
承诺 MongoDB 驱动程序是个好主意吗?
也许,bluebird 在将回调 API 转换为 Promise 方面比 Mongo 驱动程序在内部做得更好,包装更轻。仍然承诺“在前几天”可能会更快。
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |