Vous pouvez utiliser "$$REMOVE"
:
- Cette variable système a été ajoutée dans la version 3.6 (mongodb docs)
db.collection.aggregate([{
$group:{
field: {
$push: {
$cond:[
{ $gt: ["$A", 0] },
{ id: "$_id", A:"$A" },
"$$REMOVE"
]
}
},
secondField:{ $push: "$B" }
}
])
De cette façon, vous n'avez pas à filtrer les valeurs nulles.