Pokud jsem správně pochopil, jste tak blízko, zkontrolujte tento dotaz:
- Nejprve použijte
$match
získat pouze dokumenty, jejichžsubLevel.id
je 1 nebo 2. - Potom, jak jste to udělali,
$group
podleid
a součet, abyste získali celkový počet:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Příklad zde