【发布时间】:2021-07-26 20:36:39
【问题描述】:
我在 mongo 集合中有四个字段 Sender、Recipient、Credit、Debit。其中 Credit 和 Debit 是字符串形式的数字。我需要根据Sender、Recipient 进行分组并添加Credit、Debit 的整数值,并根据贷方和借方的净值对结果进行排序
我有这样的数据库
Sender Recipient Credit Debit
“Mike” “John” “600” “-300”
“Alis” “Ajay” “300” “-800”
“Arun” “Ankit” “360” “-300”
“Mike” “Cris” “0” “-100”
我需要这样的结果
Sender Recipient NetAmount
“Mike” “John” “300”
Arun” “Ankit” “-60”
“Mike” “Cris” “-100”
“Alis” “Ajay” “-500”
我试过这样做
DataModel.aggregate([
{
$group: {
_id: {
sender: '$ sender,
recipient: '$recipient',
},
},
},
{
$project: {
credit: '$credit.creditAmount,
debit: '$debit.debitAmount,
},
}, {
$addFields: {
netAmount: {
$add: [{ $toInt: '$ credit }, { $toInt: '$ debit }],
},
}
},
]);
但它没有给出预期的结果。
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query aggregation-framework