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

hvordan man undgår $push-ing nuller i mongo-aggregationsramme

Lidt sent til festen, men...

Jeg ville gøre det samme, og fandt ud af, at jeg kunne opnå det med et udtryk som dette:

  // Pushes events only if they have the value 'A'
  "events": {
    "$push": {
      "$cond": [
        {
          "$eq": [
            "$event",
            "A"
          ]
        },
        "A",
        "$noval"
      ]
    }
  }

Tankegangen her er, at når du gør

{ "$push": "$event" } 

så ser det ud til, at den kun skubber ikke-nullværdier.

Så jeg lavede en kolonne, der ikke eksisterer, $noval, som skal returneres som den falske tilstand af min $cond.

Det ser ud til at virke. Jeg er ikke sikker på, om det er ikke-standard og derfor er modtageligt for at gå i stykker en dag, men..



  1. MongoDB allowDiskUse virker ikke..

  2. Mongoid, hvordan bestiller man gennem en reference_one forening (og efterfølgende foreninger)?

  3. Bulk Upsert med MongoDB Java 3.0-driver

  4. Keras forudser ikke at vende tilbage inden for selleri opgaven