Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tính trung bình điểm trong MongoDB với aggregate

Sử dụng toán tử $avg trong Aggregation Framework. Tạo collection có trường StudentScore:

> db.averageReturiningNullDemo.insertOne({ "StudentDetails": { "StudentScore": 89 } });
{ "acknowledged": true, "insertedId": ObjectId("5ce9822e78f00858fb12e927") }
> db.averageReturiningNullDemo.insertOne({ "StudentDetails": { "StudentScore": 34 } });
{ "acknowledged": true, "insertedId": ObjectId("5ce9822e78f00858fb12e928") }
> db.averageReturiningNullDemo.insertOne({ "StudentDetails": { "StudentScore": 78 } });
{ "acknowledged": true, "insertedId": ObjectId("5ce9822e78f00858fb12e929") }

Hiển thị tất cả document:

> db.averageReturiningNullDemo.find().pretty();

Kết quả:

{
  "_id": ObjectId("5ce9822e78f00858fb12e927"),
  "StudentDetails": { "StudentScore": 89 }
}
{
  "_id": ObjectId("5ce9822e78f00858fb12e928"),
  "StudentDetails": { "StudentScore": 34 }
}
{
  "_id": ObjectId("5ce9822e78f00858fb12e929"),
  "StudentDetails": { "StudentScore": 78 }
}

Truy vấn tính trung bình:

> db.averageReturiningNullDemo.aggregate([
  {
    "$group": {
      "_id": null,
      "StudentScoreAverage": { "$avg": "$StudentDetails.StudentScore" }
    }
  }
]);

Kết quả (trung bình = 67):

{ "_id": null, "StudentScoreAverage": 67 }