检查并更新该字段是否不存在于集合中

时间:2019-02-02 16:18:36

标签: mongodb mongodb-query

我在集合orders中有一些文档,其中is_show已经为新文档设置了值true/false

现在我想要的是,对于过去的文档,它应该插入密钥
 特定订单类型的值为is_show的{​​{1}}。为了那个原因 我已编写查询,如下所示:

false

但是对于新文档和旧文档,它是如何添加db.getCollection("orders").update({"order_type":1}, {$set: {"is_show": false}}, false, true) false的。

那么如何修改查询以实现该功能?

1 个答案:

答案 0 :(得分:3)

您可以使用$exists查询运算符检查文档是否包含该字段

db.getCollection("orders").update(
  { "order_type": 1, "is_show": { "$exists": false }},
  { "$set": { "is_show": false }},
  { "multi": true }
)