#mongodb #multidimensional-array #mongodb-query
Вопрос:
У меня есть следующая коллекция strutcure
"demo" : [
"0":[
"name":[
"0":[
"id":"123"
"value" : "abc"
]
]
]
"1":[
"name":[
"0":[
"id":"456"
"value" : "def"
]
]
]
"2":[
"name":[
"0":[
"id":"123"
"value" : "abc"
]
]
]
]
Я хочу обновить значение в нем, где id = 123.
Я использовал приведенный ниже запрос для обновления, но он обновляет только первый массив, а не все, где идентификатор совпадает
.updateMany({
"demo.name.id": {
"$eq": "123"
}
},
{
$set": {
"demo.$.name.0.value": "updated name"
}
},
Комментарии:
1.используйте позиционные фильтры
$<identifier>
массива