To get an average of array elements, use $avg. Let us create a collection with documents −
> db.demo584.insertOne({"Marks":[75,50,85,60,80]});{ "acknowledged" : true, "insertedId" : ObjectId("5e91d827fd2d90c177b5bcc2") }
Display all documents from a collection with the help of find() method −
> db.demo584.find().pretty();
This will produce the following output −
{ "_id" : ObjectId("5e91d827fd2d90c177b5bcc2"), "Marks" : [ 75, 50, 85, 60, 80 ] }
Following is the query to find avg in the aggregation of array element −
> db.demo584.aggregate([ ... { $project: { MarksAvg: { $avg: "$Marks"} } } ... ])
This will produce the following output −
{ "_id" : ObjectId("5e91d827fd2d90c177b5bcc2"), "MarksAvg" : 70 }