Bạn có thể giải phóng tài liệu được nhúng và sau đó khớp trạng thái, sau đó sử dụng tính năng đếm theo nhóm bằng cách đếm tất cả các tài liệu.
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
{ "$group":{"_id":null, count: {$sum:1}}}
])
HOẶC
Đơn giản hóa việc tìm nạp tất cả các tài liệu và đếm độ dài của mảng
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
])