Cómo actualizar múltiples elementos de matriz en mongodb
Tengo un documento Mongo que contiene una gran variedad de elementos.
Me gustaría restablecer el.handled
atributo de todos los objetos en la matriz donde.profile
= XX.
El documento tiene la siguiente forma:
{
"_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": "....."
}
...
]
}
entonces, probé lo siguiente:
.update({"events.profile":10},{$set:{"events.$.handled":0}},false,true)
Sin embargo, solo actualiza elprimero elemento de matriz coincidente en cada documento. (Ese es el comportamiento definido para$ - el operador posicional.)
¿Cómo puedo actualizar?todas elementos de matriz coincidentes?