У меня есть коллекция со следующей схемой:
{
"_id" : ObjectId("4ee3ddc346b3b8880a000000"),
...
"msgs" : [{
"mid" : ObjectId("4ee3ddc346b3b8880a000000"),
"deleted" : []
},
{
"mid" : ObjectId("4ee3ddc346b3b8880a000100"),
"deleted" : []
}]
}
Я хочу сделать этот запрос: для конкретного _id вставьте в каждый «удаленный» массив элемент
, так что после выполненияэтот запрос я получу что-то вроде этого:
{
"_id" : ObjectId("4ee3ddc346b3b8880a000000"),
...
"msgs" : [{
"mid" : ObjectId("4ee3ddc346b3b8880a000000"),
"deleted" : [2]
},
{
"mid" : ObjectId("4ee3ddc346b3b8880a000100"),
"deleted" : [2]
}]
}
Что я пытался сделать:
db.dialogs.update(
{ "_id" : ObjectId("4ee3ddc346b3b8880a000000")},
{$addToSet : {'msgs.$.deleted' : 2}}
)
проблема в том, что он обновляет только первый элемент элемента в массиве, а невсе элементы
Есть идеи?