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);
}
);
}
});
}
当我运行它,我可以看到所有的推动的。他们似乎更新正确。但是,我没有得到数据库更新。