MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como evitar $ push-ing nulls na estrutura de agregação mongo


Um pouco atrasado para a festa, mas...

Eu queria fazer a mesma coisa e descobri que poderia fazê-lo com uma expressão como esta:
  // Pushes events only if they have the value 'A'
  "events": {
    "$push": {
      "$cond": [
        {
          "$eq": [
            "$event",
            "A"
          ]
        },
        "A",
        "$noval"
      ]
    }
  }

O pensamento aqui é que quando você faz
{ "$push": "$event" } 

então parece empurrar apenas valores não nulos.

Então criei uma coluna que não existe, $noval, para ser retornada como a condição falsa do meu $cond.

Parece funcionar. Não tenho certeza se é fora do padrão e, portanto, suscetível a quebrar um dia, mas ..