如何在 MongoDB 中获取最大值和最小值?

mongodbdatabasebig data analytics更新于 2026/1/16 14:52:17

使用 $max 和 $min 运算符以及聚合框架来获取最大值和最小值。首先,我们创建一个包含文档的集合。 −

> db.maxAndMinDemo.insertOne({"Value":98});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd698a357806ebf1256f129")
}
> db.maxAndMinDemo.insertOne({"Value":97});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd698af57806ebf1256f12a")
}
> db.maxAndMinDemo.insertOne({"Value":69});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd698b357806ebf1256f12b")
}
> db.maxAndMinDemo.insertOne({"Value":96});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd698b657806ebf1256f12c")
}
> db.maxAndMinDemo.insertOne({"Value":99});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd698b957806ebf1256f12d")
}

以下是使用 find() 方法显示集合中的所有文档的查询 −

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

这将产生以下输出 −

{ "_id" : ObjectId("5cd698a357806ebf1256f129"), "Value" : 98 }
{ "_id" : ObjectId("5cd698af57806ebf1256f12a"), "Value" : 97 }
{ "_id" : ObjectId("5cd698b357806ebf1256f12b"), "Value" : 69 }
{ "_id" : ObjectId("5cd698b657806ebf1256f12c"), "Value" : 96 }
{ "_id" : ObjectId("5cd698b957806ebf1256f12d"), "Value" : 99 }

以下是 MongoDB 中对最大值和最小值的查询 −

> db.maxAndMinDemo.aggregate([
   { "$group": {
      "_id": null,
      "MaximumValue": { "$max": "$Value" },
      "MinimumValue": { "$min": "$Value" }
   }}
]);

这将产生以下输出 −

{ "_id" : null, "MaximumValue" : 99, "MinimumValue" : 69 }

相关文章