【发布时间】:2020-09-16 05:03:22
【问题描述】:
作为另一个问题的一部分,我试图承诺一个 mongo/mongoose 查找查询。我通过搜索栏找到的帮助很少。查询如下,我将此查询作为快速控制器的一部分运行。设置是 route -> userController.monitor 需要包含查询
在获得其他问题的帮助时,我被要求 promisify find so that you can use await for it (like const incidents = Incident.find({fooID}).exec(); 尽管 SO 搜索和我自己承诺它的尝试都失败了。
查询:
Incident.find({fooID})
.exec((err, incidents) => {
// do something
})
注意在这种情况下 findOne 将不起作用,因为几乎所有时间都会返回多个文档
编辑
Incident.find({ monitorID, createdAt: {$gte: SevenAgo} })
【问题讨论】:
-
如果没有通过回调,猫鼬不是已经返回承诺,所以
const incidents = Incident.find({fooID}).exec();真的可以工作吗? -
哦,对不起,我又忘了在我想要的地方拼写
await。当然应该是const incidents = await Incident.find({fooID}).exec();。 -
@Bergi 这个问题是为了响应您在我的另一个问题中的请求而发布的。你建议怎么做是我之前已经掌握的。
标签: node.js mongodb mongoose promise es6-promise