我有一个mongodb模型,如:
Data = {
dataID: String,
myarray:[]
}
我需要遍历 myarray
在我的API中,我写的是这样的
Data.findOne({dataID: '1234567890'}, function(err, data){
data.myarray.forEach(function(toMatch, index){
data.myarray[index].key = value;
});
data.save(function(err, data){
if (err) {
return res.status(500).send(err);
}
return res.status(200).send(data)
})
});
但数据未保存,因为nodejs在forEach循环结束前执行 data.save
我使用游标迭代MongoDB find()函数,但是如何在mongodb文档中迭代数组,等待它完成执行然后调用 data.save
答案 0 :(得分:0)
Mongodb查找返回数组,所以在你的情况下数据将是数组,data.myarray将是未定义的,你也无法执行数据保存