Database

db={"invoice":[{"_id":1,"item":"apple","qty":20,"rate":10,"inv_date":"02/02/2020"},{"_id":2,"item":"orange","qty":15,"rate":8,"inv_date":"05/12/2020"},{"_id":3,"item":"mango","qty":25,"rate":8,"inv_date":"07/02/2020"},{"_id":4,"item":"apple","qty":20,"rate":10,"inv_date":"02/02/2020"},{"_id":5,"item":"mango","qty":10,"rate":8,"inv_date":"05/12/2020"},{"_id":6,"item":"apple","qty":30,"rate":10,"inv_date":"13/04/2020"},{"_id":7,"item":"orange","qty":15,"rate":8,"inv_date":"05/12/2020"},{"_id":null,"item":"banana","qty":10,"rate":20,"inv_date":"17/12/2020"},]}

Query

db.invoice.aggregate([{$group:{_id:{inv_date:"$inv_date",item:"$item"},totalCost:{$sum:{$multiply:["$rate","$qty"]}},avgQty:{$avg:"$qty"},count:{$sum:1}}}])

Result