在MongoDB中,如何增加多个值?

In MongoDB, how do I increase multiple values?

数据库文件看起来像:

{   "_id" : 12345,
    "options" : [ 
        {
            "no" : 1,
            "apples" : 0
        }, 
        {
            "no" : 2,
            "apples" : 0
        }, 
        {
            "no" : 3,
            "apples" : 0
        }
    ]
}

我想(通过一个查询)在仅说数字 1 和 3 时增加苹果,每个增加一个。谢谢

您可以使用 arrayFilters 来更新数组中的字段:

这是我为更新值而编写的查询:

db.sample.update(
  {},
  {
    $inc:{
      "options.$[options].apples":1
    }
  },
  {
    arrayFilters:[
      {
        "options.no":{
          $in:[1,3]
        }
      }
    ]
  }
)

您可以根据需要在 arrayFilters 中设置过滤器。

有关 arrayFilters 的更多信息,请阅读 here

希望这会有所帮助:)