18

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

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

我想要的是 _id 341445 的 c 从 3 增加到 4

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

问候。

4

1 回答 1

41

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

例如,以下 js 将 _id 341445 的 c 从 3 递增到 4:

db.collection.update({a:1, "b._id":341445} , {$inc:{"b.$.c":1}})
于 2013-04-17T01:05:02.820 回答