Bạn có thể sử dụng đường dẫn tổng hợp bên dưới.
Truy vấn dưới đây sẽ $unwind
tag_id
theo sau là $group
để đếm email
và $cond
toán tử để đếm unread
e-mail.
db.collection.aggregate(
{$unwind:{path:"$tag_id", preserveNullAndEmptyArrays:true}},
{$group:{
_id:"$tag_id",
count_email:{$sum:1},
unread:{$sum:{$cond:[{$eq:["$unread", "false"]}, 0, 1]}}
}
}
);