如何散布Mongo /猫鼬的发现

问题描述 投票:0回答:1

作为另一个问题的一部分,我正在尝试推广一个mongo / mongoose查找查询。我在搜索栏中找不到什么帮助。该查询在下面,我正在运行此查询作为express中控制器的一部分。设置为route-> userController.monitor,它需要包含查询

在寻求其他问题的帮助时,尽管我进行了SO搜索以及我自己尝试使之成真的尝试,但我还是被要求promisify find so that you can use await for it (like const incidents = Incident.find({fooID}).exec();

查询:

Incident.find({fooID})
.exec((err, incidents) => {
// do something
})

注意,在这种情况下,findOne将不起作用,因为几乎所有时间都将返回多个文档

编辑

Incident.find({monitorID,createdAt:{$ gte:sevenAgo}})]

node.js mongodb mongoose promise es6-promise
1个回答
0
投票

您可以使用node.js的promisify模块中的util函数来创建查找函数的承诺版本>

const { promisify } = require('util')

const promisifiedIncidentFindExec = payload => {
  const query = Incident.find(payload)
  return promisify(query.exec).call(query)
}

const incidents = await promisifiedIncidentFindExec({
  monitorID: 'monitorID',
  createdAt: { $gte: 'sevenAgo' },
})
// do something
© www.soinside.com 2019 - 2024. All rights reserved.