MongoDB如何使用ID和更新值更新对象数组

时间:2019-06-25 10:44:22

标签: node.js mongodb mongoose

我有对象数组:

[
{_id: "5ca2141da0106d1320c0ae32", detail: 1},
{_id: "5ca2141da0106d1320c0ae33", detail: 3},
{_id: "5ca2141da0106d1320c0ae34", detail: 3}
]

我如何通过ID和数组中的值更新文档? 我正在尝试通过这种方式:

arrayOfObjects.map(i => {
        ids.push(i._id);
        details.push(i.detail);
    });
Model.updateMany(
        { _id: { $in: ids } },
        { $set: { detail: details} },

我应该为我的$in: ids运算符获得set的索引吗?

1 个答案:

答案 0 :(得分:0)

这是您的数组。

var arrayofObjects = [
  {_id: "5ca2141da0106d1320c0ae32", detail: 1},
  {_id: "5ca2141da0106d1320c0ae33", detail: 3},
  {_id: "5ca2141da0106d1320c0ae34", detail: 3}
]

arrayOfObjects.forEach(function(obj) {
  Model.update({"_id": obj._id}, {"$set": {"detail": obj.detail}}, callback);
});

UpdateMany db.Collection 集合对象。 Refer link