Wenn ich das richtig verstanden habe, sind Sie so nah dran, überprüfen Sie diese Abfrage:
- Benutze zuerst
$match
um nur Dokumente zu erhalten, derensubLevel.id
ist 1 oder 2. - Dann, wie Sie es getan haben,
$group
durch dieid
und Summe, um die Gesamtzahl zu erhalten:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Beispiel hier