我在我的项目中使用Mongoose进行MongoDB操作。我试图:
objects
)objects
这很好用。但我也想:
objects
内保存的每个对象找到一个与另一个集合中的查询匹配的文档objects
(作为新密钥)第二部分的代码如下:
for(var i in objects) {
if(objects.hasOwnProperty(i)) {
Model.findOne({name: objects[i].name, id: objects[i].id}, function(e, document) {
if(e) console.error(e);
if(document) {
console.log("Found matchind document"); //This is showed for each object, as expected.
objects[i].newField = document.someData;
objects[i].evenNewerField = document.someMoreData;
}
});
}
}
console.log(objects); //This shows old data from previous operations, no new data from the for loop
答案 0 :(得分:1)
你的问题不是你的猫鼬用法,你应该深入了解Javascript范围和异步。在调用console.log的代码中,对象尚未更新。