MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongodb - agregação $ push se condicional


Você pode usar "$$REMOVE" :
  • Esta variável de sistema foi adicionada na versão 3.6 (documentos do mongodb)
db.collection.aggregate([{
   $group:{
       field: {
          $push: {
              $cond:[
                { $gt: ["$A", 0] },
                { id: "$_id", A:"$A" },
                "$$REMOVE"
            ]
          }
        },
        secondField:{ $push: "$B" }
    }
])

Dessa forma, você não precisa filtrar nulos.