У меня есть документ 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)
Однако он обновляет только первый соответствующий элемент массива в каждом документе. (Это определенное поведение для $ - позиционный оператор.)
Как я могу обновить все соответствующие элементы массива?