MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come $spingere un campo a seconda di una condizione?

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 } 
    }}
])