Hai bisogno di un $match
fase nella tua pipeline per selezionare solo quei documenti in cui "azione" non è uguale a "attesa".
db.collection.aggregate([
{ "$match": { "action": { "$ne": "wait" } } },
{ "$group": {
"_id": "$user.name",
"actions": { "$push": "$action" },
"total": { "$sum": 1 }
}}
])