Bạn có thể sử dụng "$$REMOVE"
:
- Biến hệ thống này đã được thêm vào phiên bản 3.6 (mongodb docs)
db.collection.aggregate([{
$group:{
field: {
$push: {
$cond:[
{ $gt: ["$A", 0] },
{ id: "$_id", A:"$A" },
"$$REMOVE"
]
}
},
secondField:{ $push: "$B" }
}
])
Bằng cách này, bạn không phải lọc các giá trị rỗng.