2016-01-07 3 views
0

У меня есть документ, как это:как вставить массив в погруженных документ в MongoDB

b = { "_id":"10001", "comments":[{"comid":"3","comtime":"2014","author":"jenny"}]} 

Я хочу, чтобы вставить еще один, как:

c = {"comid":"34","comtime":"2015","author":"jack"} 

в comid, значение которого «3». результат я хочу:

{ 
     "_id" : "10001", 
     "comments" : [ 
       { 
         "comid" : "3", 
         "comtime" : "2014", 
         "author" : "jenny", 
         "replycomment" : [ 
           { 
             "comid" : "34", 
             "comtime" : "2015", 
             "author" : "jack" 
           } 
         ] 
       } 
     ] 
} 

именно я хочу иметь еще один вложенный документ в массиве для комментариев ответили.

любые идеи?

ответ

0

Вы можете использовать метод update_one и оператор обновления $push.

replycomment = {"comid": "34", "comtime": "2015", "author": "jack"} 
collection.update_one(
    {"comments.comid": "3"}, 
    {"$push": {"comments.$.replycomment": replycomment}} 
) 
Смежные вопросы