Предположим, у меня есть следующие документы:
{
"_id": "ID1",
"A": [
{
"a": "abc",
"b": true
},
{
"a": "abc",
"b": false
},
{
"a": "def",
"b": true
}
]
}
{
"_id": "ID2",
"A": [
{
"a": "abc",
"b": false
},
{
"a": "abc",
"b": false
},
{
"a": "def",
"b": true
}
]
}
Как я могу настроить свой запрос:
db.collection.aggregate([
{$match: {"A.a": "abc"}},
{$project: {A: 1}}
])
, чтобы я соответствовал только документам, в которых хотя бы один объект находится в A
где A.a=abc AND A.b=true
? В этом примере результат будет просто:
{
"_id": "ID1",
"A": [
{
"a": "abc",
"b": true
},
{
"a": "abc",
"b": false
},
{
"a": "def",
"b": true
}
]
}