Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB để lấy điểm trung bình trong tổng hợp các phần tử mảng?


Để 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 }