Un po' in ritardo per la festa, ma...
Volevo fare la stessa cosa e ho scoperto che potevo realizzarla con un'espressione come questa:
// Pushes events only if they have the value 'A'
"events": {
"$push": {
"$cond": [
{
"$eq": [
"$event",
"A"
]
},
"A",
"$noval"
]
}
}
Il pensiero qui è che quando lo fai
{ "$push": "$event" }
quindi sembra spingere solo valori non nulli.
Quindi ho creato una colonna che non esiste, $noval, da restituire come condizione falsa del mio $cond.
Sembra funzionare. Non sono sicuro che sia fuori standard e quindi suscettibile di rompersi un giorno ma..