使用 MongoDB 中的聚合框架獲取整個欄位的平均值?
為此,可以使用 aggregate() 方法。讓我們先建立一個包含文件的集合
> db.averageAggregationDemo.insertOne({"PlayerGameScore":45});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ed66bd628fa4220163b95")
}
> db.averageAggregationDemo.insertOne({"PlayerGameScore":55});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ed671d628fa4220163b96")
}
> db.averageAggregationDemo.insertOne({"PlayerGameScore":65});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ed676d628fa4220163b97")
}
> db.averageAggregationDemo.insertOne({"PlayerGameScore":35});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ed67bd628fa4220163b98")
}
> db.averageAggregationDemo.insertOne({"PlayerGameScore":16});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9ed701d628fa4220163b99")
}以下是要在 find() 方法的幫助下顯示一個集合中的所有文件的查詢
> db.averageAggregationDemo.find().pretty();
這將產生以下輸出
{ "_id" : ObjectId("5c9ed66bd628fa4220163b95"), "PlayerGameScore" : 45 }
{ "_id" : ObjectId("5c9ed671d628fa4220163b96"), "PlayerGameScore" : 55 }
{ "_id" : ObjectId("5c9ed676d628fa4220163b97"), "PlayerGameScore" : 65 }
{ "_id" : ObjectId("5c9ed67bd628fa4220163b98"), "PlayerGameScore" : 35 }
{ "_id" : ObjectId("5c9ed701d628fa4220163b99"), "PlayerGameScore" : 16 }
Following is the query to get the average of an entire field with aggregation:
> db.averageAggregationDemo.aggregate({ "$group": { "_id": null, "PlayerGameScoreAverage": { "$avg": "$PlayerGameScore" } } } );這將產生以下輸出
{ "_id" : null, "PlayerGameScoreAverage" : 43.2 }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP