Si entendí correctamente, estás tan cerca, revisa esta consulta:
- Usar primero
$match
para obtener solo documentos cuyosubLevel.id
es 1 o 2. - Entonces, como lo ha hecho,
$group
por elid
y suma para obtener el recuento total:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Ejemplo aquí