嵌套数组中的Mongodb Increment值

时间:2013-04-16 13:01:13

标签: java spring mongodb

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

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

对于_id 341445

,我想要的是将c从3增加到4

我一直在使用findAndModify,但我不知道如何为数组中的嵌套文档创建它。

问候。

1 个答案:

答案 0 :(得分:26)

要更新数组字段中的元素,可以使用positional $ operator

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

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