2015-05-12 160 views
0

假設我有三個數組嵌套在文檔中,如下所示,我知道所有的索引。我將如何添加另一個元素到第三個數組中,在這個例子中是「array3」?我不能使用位置運算符,但是當你知道這些索引時,是否有更新/推送的方法?添加到MongoDB中的嵌套數組

"name1": "foo1", 
"array1": [ 
     { 
     name2: "foo2", 
     "array2" : [ 
      { 
      "name3" : "foo3", 
      "array3": [ 
       { 
       data : "ImData" 
       } 
      ] 
      } 

     ] 

] 

回答

0

好吧。我想到了。我不知何故錯過了通過索引直接引用它。我想它是可能的,但幾乎每個示例都顯示了位置引用,而我找不到直接執行此操作的語法。這很簡單。在知道索引時,要添加到上述數組3中:

db.collection('productlist').update({name1:'foo1'},{'$push': { "array1.0.array2.0.array3": {"data": "yay"}}}