2016-06-20 93 views
0

我有一個MongoDB的3.2以下的文檔結構:MongoDB的複雜更新

_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個的itemsshoping_list元素。
  2. 更新第i個第元素的第i個items元素。

如何使用MongoDB shell或Spring Data MongoDB完成這兩項任務。

很多謝謝。

回答

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)