MongoDB复杂更新

时间:2016-06-20 08:06:04

标签: 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,
          amount: 2
        }
      ]
    }
  ]
  }
]

我想完成两项任务:

  1. 将商品元素插入第n个items元素的shoping_list字段。
  2. 更新第j个items元素的第i个shoping_list元素。
  3. 如何使用MongoDB shell或Spring Data MongoDB完成这两项任务。

    非常感谢。

1 个答案:

答案 0 :(得分:0)

在mongoshell中,假设集合被称为'列出'

1

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

2

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