У меня есть объект в MongoDB, и я пытаюсь написать запрос, который находит документ по company_id
, затем проходит через массив purchases
и обновляет paid
до true
во всех записях, которые соответствуют user_id
, без перезаписи остальных данных.
{
_id: 27834682,
company_id: 27,
purchases: [
{
paid: false,
user_id: 19,
items: [{...}, {...}],
price: 1085
},
...
]
}
Я пробовал
Model.updateMany({company_id: company_id}, {"purchases.$[]": {$set: {paid: true}}})
, но он удалил другие данные в объекте и не смог даже отфильтровать by user_id
.
Каким будет правильный подход для этого запроса?