2
基本上我有一個簡單的場景,首先我需要獲取整個集合,例如「cars」,然後遍歷該集合並在某些上執行'findOne'另一個集合,例如基於首次收集的某些條件的「用戶」。node,mongoose'findOne'在另一個集合'find'裏面的一個集合中
所以:
// 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)IM預計2個增量 'some_field',但我只得到一個。
// console.logs
1
2
2
3
3
我可以猜到,即時通訊做錯了這裏的執行和異步的東西的流動,有人可以解釋我爲什麼這不woriking。
@JohnyHK,謝謝你的工作。 只有一個方面說明,性能呢?比方說,我有例如100.000文件的汽車收藏甚至百萬? – Srle 2014-10-30 14:43:19
很高興幫助。這是一個單獨的問題,因此最好單獨發佈。 – JohnnyHK 2014-10-30 14:54:11