Potrzebujesz wstępnego $match
etap w potoku, aby wybrać tylko te dokumenty, w których „akcja” nie jest równa „czekaj”.
db.collection.aggregate([
{ "$match": { "action": { "$ne": "wait" } } },
{ "$group": {
"_id": "$user.name",
"actions": { "$push": "$action" },
"total": { "$sum": 1 }
}}
])