当前位置: 首页 > 面试题库 >

嵌套数组中的Mongodb增量值

丌官高远
2023-03-14
问题内容

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

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

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

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

问候。


问题答案:

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

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

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


 类似资料:
  • 问题内容: 我有以下mongodb文件结构: 我已经能够使用$ elemMatch来更新操作中的字段,但是当我尝试对参数执行相同的操作(修改)时,它似乎不起作用。我想知道我应该尝试哪种其他方法,以便能够成功更新特定参数中的字段(通过其pid查找)。 我当前拥有但不起作用的更新代码如下所示: 问题答案: MongoDB 3.6及更高版本 MongoDB3.6及更高版本提供了一项新功能,该功能允许您使

  • 我问了这个问题作为对另一个问题的评论,也在mongodb-user上发布了一个问题。到目前为止没有回复,所以我求助于问一个单独的问题。 文件说明: 如果字段包含一个数组,则$in操作符选择其字段包含数组的文档,该数组至少包含一个与指定数组中的值匹配的元素(例如,等等) 我正在使用: 在MongoDB外壳中: 下面是应根据文档及其生成的结果工作的查询列表: 为什么这个不行? 为什么我需要所有的钱?

  • 我正在尝试更新嵌套数组中的值,但无法使其工作。 我的对象是这样的 提前谢谢!

  • 我有以下mongodb文档结构: 我已经能够使用$elemMatch来更新操作中的字段,但当我尝试对参数执行相同的操作(修改)时,它似乎不起作用。我想知道,为了能够通过pid查找特定参数中的字段,我应该尝试其他什么方法来成功更新字段。 我目前拥有但不起作用的更新代码如下所示:

  • 我正在使用平均堆栈在网格中显示以下数组。 嵌套数组:

  • 问题内容: 我正在尝试更新嵌套数组中的值,但无法使其正常工作。 我的对象是这样的 我需要将值推送到“ answeredBy”数组。 在下面的示例中,我尝试将“成功”字符串推到“ 123 _id”对象的“ answeredBy”数组中,但是它不起作用。 我找到了此链接,但其答案仅表示我应该使用类似结构的对象而不是数组。这不适用于我的情况。我真的需要将我的对象嵌套在数组中 如果您能在这里帮助我,那就太