Bạn sẽ tìm thấy rất nhiều ví dụ về việc sử dụng toán tử $ where cho điều này nhưng khung tổng hợp có thể làm điều này cho bạn ...
db.collection.aggregate([
{
"$addFields": {
"isPayableAmountGreater": { "$cmp": [ "$payable_amount", "$paid_amount" ] }
}
},
{ "$match": { "isPayableAmountGreater": 1 } }
])
Hoặc, thậm chí đơn giản hơn và không tạo (có thể không mong muốn) isPayableAmountGreater
thuộc tính quasi:
db.collection.aggregate([
{
"$redact": {
"$cond": [
{ "$gt": [ "$payable_amount", "$paid_amount" ] },
"$$KEEP",
"$$PRUNE"
]
}
}
])