我试图改造一个旧的 Nodejs Web 服务,用链式承诺替换回调函数。在查询 mongodb 时,我们使用以下语法遍历结果集。
collection.find(filter).toArray(function(err, items) {
if (err) {
throw(err);
} else {
console.log(items);
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试.toArray()用 a替换该部分,.then()则会出现以下错误“col.find(...).then is not a function”。
如果我替换.find()为.findOne().then(),则代码完美运行。
任何帮助表示赞赏。
find返回 a Cursor,但游标的toArray方法返回一个承诺。所以你可以这样做:
collection.find(filter).toArray().then(...)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3086 次 |
| 最近记录: |