У меня есть следующий документ:
{
"_id" : ObjectId("5881cfa62189aa40268b458a"),
"description" : "Document A",
"companies" : [
{"code" : "0001"},
{"code" : "0002"},
{"code" : "0003"}
]
}
Я хочу отфильтровать массив companies
, чтобы удалить некоторые объекты на основе поля code
.
Я пытался используйте раскрутку, а затем сопоставление, чтобы отфильтровать компании, но я не знаю, как объединить объекты. Есть ли другой способ сделать это?
Вот что я пробовал до сих пор:
db.getCollection('test').aggregate([
{
$unwind: {
'path': '$companies'
}
},
{
$match: {
'companies.code': {$in: ['0001', '0003']}
}
}
// How do I merge them back into a single document?
]);