0
我有一個有序列表。我想在中間添加一個。我排序沒有問題,但修改似乎有點困難。主要目標是找到所有等於發送或更新的數字並更新的數字。我會在找到它們時更新它們,但我無法在循環中使用某個功能。更新貓鼬設置子文檔
function updateNumbersAfterArticles(searchableid, number){
var m_searchableid = new ObjectId(searchableid);
m_Kbase_data.findOne({_id : m_searchableid}, function(err, kbase_data){
if (kbase_data.Steps.length === 1){
var updated_step = new m_KbaseScript_schema({step: kbase_data.Steps[0].step + 1, description : kbase_data.Steps[0].description, image : kbase_data.Steps[0].image});
m_Kbase_data.update({_id : m_searchableid, 'Step._id' : kbase_data.Steps[0]._id },
{$set: { "Steps.$": updated_step }},
function(err, updateRows){
//if (err) res.status(500);
console.log(updateRows);
}
);
return;
}
else{
var updated_step2 = [];
for (var i = 1; i < kbase_data.Steps.length; i++) {
if (kbase_data.Steps[i].step >= number){
console.log("pushed");
updated_step2.push(new m_KbaseScript_schema({step: kbase_data.Steps[i].step + 1, description : kbase_data.Steps[i].description, image : kbase_data.Steps[i].image}));
}
}
console.log(updated_step2);
m_Kbase_data.update({_id : m_searchableid, },
{$set: { "Steps.$": updated_step2 }},
function(err, updateRows){
//if (err) res.status(500);
console.log(updateRows);
}
);
}
});
}
當我運行它,我可以看到所有的推動的。他們似乎更新正確。但是,我沒有得到數據庫更新。