【发布时间】:2014-12-26 13:29:07
【问题描述】:
基本上我有一个简单的场景,首先我需要获取整个集合,例如“汽车”,然后遍历该集合并在另一个集合上执行“findOne”,例如基于第一个集合的某些条件的“用户”。
所以:
// requiring modules and mongoose.connect() part
...
CarModel.find(function(err, cars) {
console.log("1");
_.each(cars, function(car) {
console.log("2");
UserModel.findOne({username: car.owner}, function(err, user) {
console.log("3");
user.some_field++;
user.save();
});
});
});
例如,当汽车集合有 2 个文档(相同的 car.owner)时,我期望 'some_field' 有 2 个增量,但我只得到一个。
// console.logs
1
2
2
3
3
我可以猜到我在执行流程和异步内容方面做错了什么,有人可以解释一下为什么这不起作用。
【问题讨论】:
标签: javascript node.js mongodb asynchronous mongoose