2015-05-12 5 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"}}} 
Смежные вопросы