【发布时间】:2016-10-05 22:22:27
【问题描述】:
此函数列出 MongoDB 数据库中的所有集合,以及每个集合中的文档数 (bluebird promises)。
function listMongoCollections(db) {
var promises = []
db.listCollections().toArray().then((docs) => {
docs.forEach((doc) => {
promises.push(
new Promise((resolve) => {
db.collection(doc.name).count().then((count) => {
doc.count = count
resolve()
})
})
)
})
return Promise.all(promises)
})
}
有没有更简单的方法来做到这一点?使用这种方法会使应用程序充满代码,我什至没有包括错误处理。
【问题讨论】:
-
你可以试试 Q. 在 JavaScript 中创建和编写异步 promise 的工具documentup.com/kriskowal/q
-
我没有看到 Q 做任何蓝鸟不能做的事情
-
@PålThingbø 作为 Q 和 Bluebird 的贡献者 - 我可以确认这一说法。
标签: javascript node.js mongodb promise