Bên cạnh đó, @Joe và @Nenad trả lời lỗi cho phép trừ:'$ rate- $ 100' ;
Bạn cần định vị lại cấu trúc logic của mình.
- Thực hiện phép tính:
SUM((credit*(100-rate))/100)
. - Nhóm theo
$accountNum
và tổng hợpSUM
choresultMultiply
.
db.collection.aggregate([
{
$match: {
rate: {
$ne: 0
}
}
},
{
$addFields: {
resultMultiply: {
$divide: [
{
$multiply: [
"$credit",
{
"$subtract": [
100,
"$rate"
]
}
]
},
100
]
}
}
},
{
$group: {
_id: "$accountNum",
total: {
$sum: "$resultMultiply"
}
}
}
])
[
{
"_id": 2,
"total": 1.5
},
{
"_id": 1,
"total": 5.5
}
]