Database
[{"provider":"provider 1","debts":[{"debt":500,"paid":true},{"debt":900,"paid":false},{"debt":600,"paid":false}]},{"provider":"provider 2","debts":[{"debt":500,"paid":false}]}]
Query
db.collection.aggregate([{$project:{_id:1,total:{$reduce:{input:"$debts",initialValue:0,in:{$add:["$$value",{$cond:[{$eq:["$$this.paid",false]},"$$this.debt",0]}]}}}}},{$group:{_id:null,debt_providers:{$push:"$$ROOT"},sum_total_objects:{$sum:"$total"}}}])