Để lấy giá trị trung bình của các phần tử mảng, hãy sử dụng $ avg. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo584.insertOne({"Marks":[75,50,85,60,80]});{ "acknowledged" : true, "insertedId" : ObjectId("5e91d827fd2d90c177b5bcc2") }
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.demo584.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e91d827fd2d90c177b5bcc2"), "Marks" : [ 75, 50, 85, 60, 80 ] }
Sau đây là truy vấn để tìm trung bình trong tập hợp phần tử mảng -
> db.demo584.aggregate([ ... { $project: { MarksAvg: { $avg: "$Marks"} } } ... ])
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e91d827fd2d90c177b5bcc2"), "MarksAvg" : 70 }