如何用 MongoDB 聚合來獲得分數平均值?


使用 $avg 運算子和聚合框架。我們首先使用一個帶有文件的新集合。此處,一個欄位是 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")
}

以下查詢使用 find() 方法顯示集合中的所有文件 −

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

這將生成以下輸出 −

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

以下查詢用於獲取平均值 −

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

這將生成以下輸出 −

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

更新時間:2019 年 7 月 30 日

371 次瀏覽

開啟你的 職業生涯

完成課程獲取認證

開始
廣告
© . All rights reserved.