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

Mongodb - agregación $ push si condicional

Puedes usar "$$REMOVE" :

  • Esta variable del sistema se agregó en la versión 3.6 (documentos mongodb)
db.collection.aggregate([{
   $group:{
       field: {
          $push: {
              $cond:[
                { $gt: ["$A", 0] },
                { id: "$_id", A:"$A" },
                "$$REMOVE"
            ]
          }
        },
        secondField:{ $push: "$B" }
    }
])

De esta manera, no tiene que filtrar nulos.