Допустим, у меня есть следующая структура документа:
{
"A": {
"_id": "ID0"
},
"B": [
{
"_id": "ID0",
"field": "X"
},
{
"_id": "ID1",
"field": "Y"
}
]
}
Я хочу, чтобы проект B
соответствовал _id
в A
. Конечный результат будет следующим:
{
"B": [
{
"_id": "ID0",
"field": "X"
}
]
}
Я попробовал следующее, но, по-видимому, я делаю что-то не так. Возможно ли сопоставление на основе документа, а не явного условия?
db.collection.aggregate([
{$match: {"B._id": "$A._id"}},
{$project: {"B": 1}}
])