I have four fields Sender, Recipient, Credit, Debit in mongo collection. Of which Credit and Debit are numbers in form of strings. I need to group based on Sender, Recipient and add integer values of Credit, Debit and sort the result based on that net value of credit and debit
I have database like this
Sender Recipient Credit Debit
“Mike” “John” “600” “-300”
“Alis” “Ajay” “300” “-800”
“Arun” “Ankit” “360” “-300”
“Mike” “Cris” “0” “-100”
And I need result like this
Sender Recipient NetAmount
“Mike” “John” “300”
Arun” “Ankit” “-60”
“Mike” “Cris” “-100”
“Alis” “Ajay” “-500”
I tried to do this
DataModel.aggregate([
{
$group: {
_id: {
sender: '$ sender,
recipient: '$recipient',
},
},
},
{
$project: {
credit: '$credit.creditAmount,
debit: '$debit.debitAmount,
},
}, {
$addFields: {
netAmount: {
$add: [{ $toInt: '$ credit }, { $toInt: '$ debit }],
},
}
},
]);
But it didn't give the desired result.