我面临着按顺序更新子文档的问题。我已经找到了更新子文档的方法,甚至以前也嵌套了子文档。但是现在我不知道如何按我需要的顺序更新它们。
我需要在发送的数组顺序中更新类别顺序,如下所示
idList = ["5c603101ff83f23868bd9b12", "5c5e901e5e40d32434b6d8a0"];
集合中的文档
我试图使用for循环有效,但是我认为有一种更好的方法,而不是一个个地更新每个子文档。希望得到您的建议
for (var i = 0; i < idList.length; i++) {
menus.findOneAndUpdate({
'_id': menuId,
'categoryDetails._id': idList[i],
}, {
$set: {
'categoryDetails.$.order': i
}
}, (err, result) => {
if (err) {
console.log(chalk.red(err));
return res.status(500).json(err)
}
console.log(chalk.green('UPDATE: (Admin) Category order ' + i));
});
}
return res.status(200).json()