【发布时间】:2016-05-22 08:23:40
【问题描述】:
我的代码通过数组上的 .forEach() 循环运行。每次迭代都会运行一个 mongoose 查询。
我的查询返回一个空对象,这不应该发生,我想知道为什么!
我不能要求回调打印使用的值,因为在 promise 解决时 forEach 循环已经完成,所以它只打印数组的最后一项(这是预期的结果)。
如何访问在 mongoose 回调中运行的查询?
array.forEach((item,i)=>{
model.findOneAndUpdate({a:item.a},item).exec((err,result)=>{
if(err){throw(err.stack);return;}
if(!result)
throw new Error("Nothing returned for query: "+QUERY_STRING)
})
})
【问题讨论】:
标签: javascript node.js mongodb mongoose