sql >> Databasteknik >  >> NoSQL >> MongoDB

hur man undviker $push-ing-nullvärden i mongo-aggregationsramverk

Lite sent till festen, men...

Jag ville göra samma sak och fann att jag kunde åstadkomma det med ett uttryck som detta:

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

Tanken här är att när du gör

{ "$push": "$event" } 

då verkar det bara trycka på icke-nullvärden.

Så jag skapade en kolumn som inte finns, $noval, som ska returneras som det falska villkoret för min $cond.

Det verkar fungera. Jag är inte säker på om det är icke-standardiserat och därför kan gå sönder en dag men...



  1. Hur man får fram antalet förekomster av ett nyckelord i en sträng med mongoDb

  2. Få dubbletter av rader på vänster sammanfogning i Birt-rapporter

  3. Maskinpooler och molnprofiler för MongoDB

  4. När jag börjar blomma får jag följande:dbm.error:db-typen är dbm.gnu, men modulen är inte tillgänglig