Ако съм разбрал правилно, вие сте толкова близо, проверете тази заявка:
- Първо използвайте
$match
за да получите само документи, чийтоsubLevel.id
е 1 или 2. - След това, както направихте,
$group
чрезid
и сума, за да получите общ брой:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Пример тук