Mongodb更新子文档字段以更好的方法进行比较以逐一更新

时间:2019-03-19 05:04:10

标签: mongodb mongodb-query

我面临着按顺序更新子文档的问题。我已经找到了更新子文档的方法,甚至以前也嵌套了子文档。但是现在我不知道如何按我需要的顺序更新它们。

我需要在发送的数组顺序中更新类别顺序,如下所示

idList = ["5c603101ff83f23868bd9b12", "5c5e901e5e40d32434b6d8a0"];

集合中的文档

enter image description here

我试图使用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()

0 个答案:

没有答案