sql >> Database >  >> NoSQL >> MongoDB

hoe $ push-ing nulls te vermijden in mongo-aggregatieframework

Beetje laat op het feest, maar..

Ik wilde hetzelfde doen en ontdekte dat ik het kon bereiken met een uitdrukking als deze:

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

De gedachte hier is dat wanneer je

{ "$push": "$event" } 

dan lijkt het alleen niet-null-waarden te pushen.

Dus heb ik een kolom verzonnen die niet bestaat, $noval, die moet worden geretourneerd als de valse voorwaarde van mijn $cond.

Het lijkt te werken. Ik weet niet zeker of het niet-standaard is en daarom op een dag kan breken, maar..



  1. MongoDB:Hoe te vinden op subdocument-ID?

  2. Mongo-cxx-driver bouwen met CMake ExternalProject_Add

  3. Hoe de Open edX MongoDB-database te implementeren voor hoge beschikbaarheid

  4. Kun je verbinding maken met Amazon ElastiСache Redis buiten Amazon?