1. 程式人生 > >mongo兩級陣列巢狀資料更新問題

mongo兩級陣列巢狀資料更新問題

mongo中儲存文件資料時資料儲存的格式為二維陣列巢狀,這時想修改陣列元素的子元素時就要維護兩級索引號才能進行更新操作。

例如:

{
  "_id" : ObjectId("55de9cf9c8b9d5dd58ba2d10"),
  "wordTask" : {
    "childTasks" : [{
        "bookId" : 2,
        "bookName" : "SAT閱讀OG重點詞彙",
        "listTasks" : [{
            "listId" : 55,
            "listName" : "list5"
          }]
      }]
  }
}

如果要更新wordTask陣列中listTasks的元素中的值就要這樣更新:
{$set:{"wordTask.childTasks.0.listTasks.0.listName":"list6"}} 

在程式中就要維護兩級索引。
如果有更好的方式歡迎探討。