我正在为Spring使用mongotemplate,我想知道如何以原子方式增加我在一个数组中的一个文件的值。想象一下,我们有
{'a':1,
b:[{_id:341432,
c:2
},
{_id:341445,
c:3
}]};
对于_id 341445
,我想要的是将c从3增加到4我一直在使用findAndModify,但我不知道如何为数组中的嵌套文档创建它。
问候。
答案 0 :(得分:26)
要更新数组字段中的元素,可以使用positional $ operator
例如,对于_id 341445,以下js将c从3增加到4:
db.collection.update({a:1, "b._id":341445} , {$inc:{"b.$.c":1}})