Как обновить несколько элементов массива в mongodb



у меня есть документ Mongo, который содержит массив элементов.



Я хотел бы сбросить .handled атрибут всех объектов в массиве, где .profile = XX.



документ имеет следующий вид:



{
"_id": ObjectId("4d2d8deff4e6c1d71fc29a07"),
"user_id": "714638ba-2e08-2168-2b99-00002f3d43c0",
"events": [{
"handled": 1,
"profile": 10,
"data": "....."
} {
"handled": 1,
"profile": 10,
"data": "....."
} {
"handled": 1,
"profile": 20,
"data": "....."
}
...
]
}


Итак, я попробовал следующий:



.update({"events.profile":10},{$set:{"events.$.handled":0}},false,true)


однако он обновляет только первый соответствующий элемент массива в каждом документе. (Это определенное поведение для $ - позиционный оператор.)



как я могу обновить все соответствующие элементы массива?

755   0  

Comments

    Ничего не найдено.