MongoDB复杂更新

MongoDB复杂更新,mongodb,spring-data-mongodb,Mongodb,Spring Data Mongodb,我有一个MongoDB 3.2,具有以下文档结构: _id: OjbectId(), record: [ { client_id: 1002, shoping_list: [ { list_name: "Just created", create_date: ISODate("2016-07-16T01:23:11.232Z"), items:[ { id: 219213, amoun

我有一个MongoDB 3.2,具有以下文档结构:

_id: OjbectId(),
record: [
  {
  client_id: 1002,
  shoping_list: [
    {
      list_name: "Just created",
      create_date: ISODate("2016-07-16T01:23:11.232Z"),
      items:[
        {
          id: 219213,
          amount: 2
        }
      ]
    }
  ]
  }
]
我想完成两项任务:

  • 在第n个
    购物列表
    元素的
    项目
    字段中插入项目元素
  • 更新第j个
    购物列表
    元素的第i个
    项目
    元素
  • 如何使用MongoDB shell或Spring Data MongoDB完成这两项任务


    非常感谢。

    在mongoshell中,假设集合被称为“列表”

    一,

    二,


    在mongoshell中,假设集合称为“列表”

    一,

    二,

    > var list = db.lists.findOne()
    > list.record[0].shoping_list[n].items.push(new_item)
    > db.lists.save(list)
    
    > var list = db.lists.findOne()
    > list.record[0].shoping_list[j].items[i] = updated_item
    > db.lists.save(list)