一尘不染

嵌套数组中的Mongodb增量值

spring

我在Spring上使用mongotemplate,我想知道如何自动原子地增加数组中的一个文档的值。想象我们有

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

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

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


阅读 300

收藏
2020-04-15

共1个答案

一尘不染

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

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

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