1
我在貓鼬偶然發現了一個問題,最近試圖創建一個回調的文檔,其值,這裏是我的代碼:貓鼬:在外環
var v, query;
for(var i=0; i<values.length; i++) {
v = values[i];
query = model.findOne({type:v});
query.exec(function(err, doc) {
if(doc == undefined) {
var m = new model({type:v, count:0});
// but the 'v' above is not the values[i] in the for loop
// code to save comes here
} else {
doc.count++;
// update code comes here
}
});
}
我想檢查,如果文檔是空的,如果是這樣,請在數據庫中輸入默認值。如果有文檔返回,則更新其屬性。問題是我試圖保存的對象具有值[i]作爲它的一個屬性。但是由於它是一個回調函數,我沒有得到那個特殊的值,因爲它在for循環中繼續前進。
我在模型創建過程中通過爲所有不同的值插入默認對象來解決這個問題,但是在代碼流的這一點上有沒有辦法做到這一點?
啊,我今天新學到了一些東西。謝謝! – Raghuveer