Se entendi corretamente, você está tão perto, verifique esta consulta:
- Primeiro use
$match
para obter apenas documentos cujosubLevel.id
é 1 ou 2. - Então, como você fez,
$group
peloid
e soma para obter a contagem total:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Exemplo aqui