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

wie man $push-ing nulls im Mongo Aggregation Framework vermeidet

Bisschen spät zur Party, aber..

Ich wollte dasselbe tun und stellte fest, dass ich es mit einem Ausdruck wie diesem erreichen konnte:

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

Das Denken hier ist, dass, wenn Sie

tun
{ "$push": "$event" } 

dann scheint es nur Nicht-Null-Werte zu pushen.

Also habe ich eine Spalte erstellt, die nicht existiert, $noval, die als falsche Bedingung meiner $cond zurückgegeben wird.

Es scheint zu funktionieren. Ich bin mir nicht sicher, ob es nicht dem Standard entspricht und daher eines Tages kaputt gehen kann, aber..