У меня возникает следующая проблема, когда я пытаюсь сопоставить элементы в массиве на основе значения в одном из подполей массива.
Пример структуры документа:
{
"A" : {
"C" : "abc"
},
"B" : [
{
"C" : "def"
},
{
"C" : "ghi"
},
{
"C" : "jkl"
},
{
"C" : "abc"
}
]
}
Пример документа результата :
{
"A" : {
"C" : "abc"
},
"B" : [
{
"C" : "abc"
}
]
}
Моя попытка:
db.collection.aggregate([
{'$match': {
'B.C': 'A.C'
}},
{'$project': {
'A.C': 1,
'B.C': 1
}}
])
Где я делаю ошибку?
Спасибо!