sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo $empujar un campo dependiendo de una condición?

Necesita un $match preliminar etapa en su tubería para seleccionar solo aquellos documentos donde "acción" no es igual a "esperar".

db.collection.aggregate([
    { "$match": { "action": { "$ne": "wait" } } },
    { "$group": { 
        "_id": "$user.name", 
       "actions": { "$push": "$action" }, 
       "total": { "$sum": 1 } 
    }}
])