Я пытаюсь l oop через массив и заменить старую версию новой.
Мой код, который я использую:
db.cases.aggregate(
{ $match: { 'companyID': 218 }},
{ $unwind: '$cases' },
{ $group: { "_id": "$cases.casenumber", cases: {$push:'$cases'}, "count": { $sum:1 }}},
{ $match: { "count": { "$gt": 1 }}}
{ $project: { "cases": { $slice: [ "$cases", -1, { $subtract: [ { $size: "$cases" }, 1 ]}] }}},
{ $project: { "cases": { $arrayElemAt: ['$cases', 0] }}},
{ $group: { _id: 1, cases: {$push:'$cases' }}},
{ $out: 'cases' }
)
Проблема в том, что $ out просто перезаписывает документ кейсов, однако я хочу сохранить документ кейсов и обновить только указанный массив c дел для ID компании внутри документа.
Вот как выглядит документ:
У кого-нибудь есть идеи, как это можно сделать?
Спасибо