Database

db={"purchase":[{"_id":ObjectId("60f0a8fa7f73e1b4883e2b26"),"status":"Sold","isSold":true,"unitcost":4.5,"mrp":220,"unitprice":6,"product":ObjectId("60f0a7c8355781b277607f19"),"manufacturingdate":ISODate("2021-06-30T18:30:00.000Z"),"expirydate":ISODate("2021-07-29T18:30:00.000Z"),"customer":ObjectId("60f0975a93ba0ba2152a1ec0")},{"_id":ObjectId("60f0a8fa7f73e1b4883e2b87"),"status":"Sold","isSold":true,"unitcost":4.5,"mrp":220,"unitprice":6,"product":ObjectId("60f0a7c8355781b277607f19"),"manufacturingdate":ISODate("2021-06-30T18:30:00.000Z"),"expirydate":ISODate("2021-07-29T18:30:00.000Z"),"customer":ObjectId("60f0975a93ba0ba2152a1ec0")}]}

Query

db.purchase.aggregate([{"$addFields":{"profit":{"$subtract":["$unitprice","$unitcost"]}}},{"$group":{"_id":"$product","profit":{"$sum":"$profit"},"unitprice":{"$first":"$unitprice"},"unitcost":{"$first":"$unitcost"},"customerDetails":{"$push":{_id:"$_id"}},}}])

Result