如何在MongoDB中更新多个对象但具有相同的数据?

时间:2016-01-12 15:00:35

标签: javascript mongodb database

是否可以更新多个对象(不是所有对象)但使用相同的变量?

我想更新几个对象,但是使用相同的数据集,我可以只使用一个查询吗?

   db.getCollection('my.data').update({ "_id": ObjectId("52e637fca92cf1ec6a73c1e8") },
    { 
        "$set": {
            "var1": 2,
            "var2": 3,
            "var3": 4
        }
    }
)    

1 个答案:

答案 0 :(得分:1)

您可以通过向更新调用添加第三个参数来更新与查询匹配的所有文档:

db.getCollection('my.data').update(
    {
        "field": "that matches documents to update"
    },
    { 
        "$set": {
            "var1": 2,
            "var2": 3,
            "var3": 4
        }
    },
    {
        multi: true
    }
);

这当然假设您的查询仅匹配您要更新的文档。

您可以详细了解更新运算符here