Можете да развиете вградения документ и след това да съпоставите състоянието, след което да използвате groupby да преброите всички документи.
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
{ "$group":{"_id":null, count: {$sum:1}}}
])
ИЛИ
Опростете извличането на всички документи и преброяването на дължината на масива
db.collection.aggregate([
{ "$unwind": "$chat"},
{$match:{"chat.status": "pending"}},
])