Имате нужда от предварителен $match
етап във вашия конвейер, за да изберете само онези документи, където "действие" не е равно на "изчакване".
db.collection.aggregate([
{ "$match": { "action": { "$ne": "wait" } } },
{ "$group": {
"_id": "$user.name",
"actions": { "$push": "$action" },
"total": { "$sum": 1 }
}}
])