mongodb shell:仅在文档存在时更新文档

时间:2015-07-12 06:33:45

标签: mongodb shell mongodb-query

如果我没有弄错$set,如果该字段不存在,则会添加该字段。

db.coll.update({profession:"devs"}, { $set : { daysSpent : 30 } }, {multi:true});

它将为所有具有专业和#34; devs"的文档设置daysSpent 30不管他们是否有这个领域。

1 个答案:

答案 0 :(得分:3)

您需要使用$exists运算符,该运算符将匹配包含字段daysSpent的文档

db.coll.update(
    { "profession": "devs", "daysSpent": { "$exists": true }, 
    { "$set" : { "daysSpent" : 30 } }, 
    { multi: true }
)