У меня есть документ в mongodb с 2 уровнями глубокого вложенного массива объектов, которые мне нужно обновить, что-то вроде этого.Mongodb обновляет объект в многоуровневом массиве
{
"id":12362,
"onGoing":[
{
"id":14597,
"offers":[
{
"id":56897,
"status":"validated"
},
{
"id":86127,
"status":"validated"
}
]
},
{
"id":89451,
"offers":[
{
"id":12235,
"status":"validated"
},
{
"id":56457,
"status":"validated"
}
]
}
]
}
Я хочу уточнить все предложения, связанные с их идентификатором.
Я пытался обновить как
db.repairJobs.update({
"onGoing.offers":{
$elemMatch:{
_id:{
$in:[
'56897', '56457'
]
}
}
}
},
{
$set:{
"ongoing.offers.$.status":"ACCEPTED"
}
});
Но получаю ошибку: не может использовать часть (продолжающуюся от ongoing.offers.0.status), чтобы пересечь элемент ({продолжается: [{_id: нуль ...
есть ли какие-либо способы для обновления, решение должно быть совместимы с пружинными данными.
Спасибо за ответ – user3794642