Du kan varva ner det inbäddade dokumentet och sedan matcha statusen och sedan använda groupby count alla dokument.
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
{ "$group":{"_id":null, count: {$sum:1}}}
])
ELLER
Hämta alla dokument förenklat och räkna längden på arrayen
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
])