sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongodb - aggregering $push om villkorlig

Du kan använda "$$REMOVE" :

  • Denna systemvariabel lades till 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å så sätt behöver du inte filtrera nollor.



  1. Undantag som autentiserar MongoCredential och Uncategorized Mongo Db Exception

  2. Hur man namnutrymmestangenter på redis för att undvika namnkollisioner?

  3. MongoDB:bästa designen för meddelandeapp

  4. 'upsert' i ett inbäddat dokument