Nếu tôi hiểu đúng, bạn đã hiểu rất gần, hãy kiểm tra truy vấn này:
- Lần đầu tiên sử dụng
$match
để chỉ lấy các tài liệu cósubLevel.id
là 1 hoặc 2. - Sau đó, như bạn đã làm,
$group
bởiid
và tính tổng để có tổng số:
db.collection.aggregate([
{
"$match": { "subLevel.id": { "$in": [ 1, 2 ] } }
},
{
"$group": { "_id": "$subLevel.id", "count": { "$sum": 1 } }
}
])
Ví dụ tại đây