MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongodb - agrégation $push si conditionnel

Vous pouvez utiliser "$$REMOVE" :

  • Cette variable système a été ajoutée dans la version 3.6 (mongodb docs)
db.collection.aggregate([{
   $group:{
       field: {
          $push: {
              $cond:[
                { $gt: ["$A", 0] },
                { id: "$_id", A:"$A" },
                "$$REMOVE"
            ]
          }
        },
        secondField:{ $push: "$B" }
    }
])

De cette façon, vous n'avez pas à filtrer les valeurs nulles.