Database

[{"_id":ObjectId("62c2e94e65f32725f8f62b79"),"updatedAt":ISODate("2022-06-29T13:10:36.659Z"),"createdAt":ISODate("2022-06-29T08:06:51.264Z"),"payments":[{"paymentId":"xxxxxx","paymentType":"charge","paymentCurrency":"PKR","paymentMode":"cash","paymentTotal":13501.88,"penalties":100},{"paymentId":"ccccc","paymentType":"refund","paymentCurrency":"PKR","paymentMode":"","paymentTotal":13061.879999999997,"penalties":430.0}]}]

Query

db.collection.aggregate([{$match:{createdAt:{$gte:ISODate("2022-06-28T00:00:00.000Z"),$lte:ISODate("2022-06-30T00:00:00.000Z")}}},{$project:{grandTotal:{$reduce:{input:"$payments",initialValue:0,in:{$cond:[{$eq:["$$this.paymentType","charge"]},{$add:["$$this.paymentTotal","$$value"]},{$subtract:["$$value","$$this.paymentTotal"]}]}}}}}])

Result