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

Mongodb - aggregering $push hvis betinget

Du kan bruge "$$REMOVE" :

  • Denne systemvariabel blev tilføjet i version 3.6 (mongodb docs)
db.collection.aggregate([{
   $group:{
       field: {
          $push: {
              $cond:[
                { $gt: ["$A", 0] },
                { id: "$_id", A:"$A" },
                "$$REMOVE"
            ]
          }
        },
        secondField:{ $push: "$B" }
    }
])

På denne måde behøver du ikke at filtrere null.



  1. Skriv din første rådgiver

  2. Gratis Open Source-databaseimplementering og overvågning med ClusterControl Community Edition

  3. Sådan implementeres MongoDB på Heroku

  4. Hvorfor kan jeg ikke fejlsøge kode i en async-metode?