【问题标题】:Mongo Update a sub-document of an Array [duplicate]Mongo更新数组的子文档[重复]
【发布时间】:2015-09-03 05:00:24
【问题描述】:

集合...这是我拥有的集合的结构。我需要有关更新查询的帮助。

{ 
  id: 1, 
  line_items: [
    {
      id: 43,
      review_request_sent: true
    }
  ]
},
{
  id: 2,
  line_items: [
    {
      id: 1,
      review_request_sent: false
    },
    {
      id: 39
    },
 ]
},
{
  id: 3,
  line_items: [
    {
     id: 23,
     review_request_sent: true
    },
    {
     id: 85,
     review_request_sent: true
    },
    {
     id: 12,
     review_request_sent: false
    }
  ]
}

我需要有关更新文档的帮助。假设将 review_request_sent 更新为 true,其中 id 为 3,line_item 的对象 id 为 12。

所以最后一个文档变成了

{
  id: 3,
  line_items: [
    {
     id: 23,
     review_request_sent: true
    },
    {
     id: 85,
     review_request_sent: true
    },
    {
     id: 12,
     review_request_sent: true
    }
  ]
}

【问题讨论】:

    标签: mongodb mongoose mongodb-query


    【解决方案1】:

    您可以使用$positional operator

    Model.update(
        { 'id': 3, 'line_items.id': 12 }, 
        { $set: { 
            'line_items.$.review_request_sent': false
        }}, function (err, numAffected) { ... }
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-02
      • 2020-08-05
      • 2015-06-03
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      • 2021-04-23
      • 2014-01-28
      相关资源
      最近更新 更多