Jika saya sudah mengerti dengan benar, Anda sangat dekat, periksa kueri ini:
- Pertama gunakan
$match
untuk mendapatkan hanya dokumen yangsubLevel.id
adalah 1 atau 2. - Kemudian, seperti yang telah Anda lakukan,
$group
denganid
dan jumlah untuk mendapatkan jumlah total:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Contoh di sini