如何在 MongoDB 中使用聚合函数获取平均成绩?
mongodbdatabasebig data analytics更新于 2026/1/12 0:22:17
使用 $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 }

