Javascript在异步数组中获取mongoose数据。prototype.map()
我正在处理我的nodejs项目,我刚刚注意到在async.map()迭代中等待mongoose查询返回nullJavascript在异步数组中获取mongoose数据。prototype.map(),javascript,node.js,mongodb,mongoose,async-await,Javascript,Node.js,Mongodb,Mongoose,Async Await,我正在处理我的nodejs项目,我刚刚注意到在async.map()迭代中等待mongoose查询返回null const arr = [1, 2, 3, 4] const result = arr.map(async obj => { return { number: obj, user: await User.findOne({role: 'admin'}) } }) Pro
const arr = [1, 2, 3, 4]
const result = arr.map(async obj => {
return {
number: obj,
user: await User.findOne({role: 'admin'})
}
})
Promise.all(result).then(res => {
console.log(result)
})
res.sendStatus(200)
日志:
如何正确地从异步数组.prototype.map()中的mongoose获取数据
请注意findOne之后的.exec()我可能会补充一点,如果您使用admin mongo角色执行findOne,那么它可能会始终返回相同的文档。输出保持不变。哦,是的,但只是作为一个示例进行补充。
[
Promise { { number: 1, user: null } },
Promise { { number: 2, user: null } },
Promise { { number: 3, user: null } },
Promise { { number: 4, user: null } }
]
const arr = [1, 2, 3, 4]
const result = arr.map(async obj => {
return {
number: obj,
user: await User.findOne({role: 'admin'}).exec()
}
})
Promise.all(result).then(res => {
console.log(result)
})
res.sendStatus(200)