MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongodb - Aggregation $push wenn bedingt

Sie können "$$REMOVE" verwenden :

  • Diese Systemvariable wurde in Version 3.6 (Mongodb-Dokumentation) hinzugefügt
db.collection.aggregate([{
   $group:{
       field: {
          $push: {
              $cond:[
                { $gt: ["$A", 0] },
                { id: "$_id", A:"$A" },
                "$$REMOVE"
            ]
          }
        },
        secondField:{ $push: "$B" }
    }
])

Auf diese Weise müssen Sie keine Nullen herausfiltern.