Итак, я решил взломать, но это не совсем то, что я хотел - может быть, кто-то может использовать это и расширить его, чтобы заставить его работать лучше:
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' }
)
Единственная проблема заключается в том, что использование перезаписывает документ кейсов, поэтому мне нужно найти способ записать его в массив кейсов внутри идентификатора компании (218)
Надеюсь, это кому-нибудь поможет.
Спасибо.