Můžete rozvinout vložený dokument a poté porovnat stav pomocí groupby count všech dokumentů.
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
{ "$group":{"_id":null, count: {$sum:1}}}
])
NEBO
Zjednodušte načítání všech dokumentů a spočtěte délku pole
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
])