Можете да използвате "$$REMOVE"
:
- Тази системна променлива беше добавена във версия 3.6 (mongodb документи)
db.collection.aggregate([{
$group:{
field: {
$push: {
$cond:[
{ $gt: ["$A", 0] },
{ id: "$_id", A:"$A" },
"$$REMOVE"
]
}
},
secondField:{ $push: "$B" }
}
])
По този начин не е нужно да филтрирате нулеви стойности.