我有一个Mongo文档,它包含一个元素array.
我想重置数组中所有对象的.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": "....."
}
...
]
}
因此,我try 了以下方法:
.update({"events.profile":10},{$set:{"events.$.handled":0}},false,true)
但是,它只更新每个文档中匹配的first个数组元素.(这是$ - the positional operator人的既定行为.)
如何更新all个匹配的数组元素?