嵌套数组内的 Mongodb 增量值

2022-09-02 19:56:00

我正在使用mongotemplate for Spring,我想知道如何以原子方式递增我在数组中的一个文档的值。想象一下,我们有

{'a':1,
   b:[{_id:341432,
       c:2
      },
      {_id:341445,
       c:3
      }]};

我想要的是将c从3增加到4,用于_id 341445

我一直在使用findAndModify,但我不知道如何将其用于数组中的嵌套文档。

问候。


答案 1

要更新数组字段中的元素,可以使用位置 $ 运算符

例如,对于_id 341445,以下 js 将 c 从 3 增量增加到 4:

db.collection.update({a:1, "b._id":341445} , {$inc:{"b.$.c":1}})

答案 2