Database
[{"Sender":"Mike","Recipient":"John","Credit":"600","Debit":"-300"},{"Sender":"Alis","Recipient":"Ajay","Credit":"300","Debit":"-800"},{"Sender":"Arun","Recipient":"Ankit","Credit":"360","Debit":"-300"},{"Sender":"Mike","Recipient":"Cris","Credit":"0","Debit":"-100"}]
Query
db.collection.aggregate([{$group:{_id:{Sender:"$Sender",Recipient:"$Recipient"},Credit:{$sum:{$toInt:"$Credit"}},Debit:{$sum:{$toInt:"$Debit"}}}},{$project:{_id:0,Sender:"$_id.Sender",Recipient:"$_id.Recipient",NetAmount:{$add:["$Credit","$Debit"]}}},{$match:{NetAmount:{$ne:0}}},{$sort:{NetAmount:-1}}])