使用MongoDB聚合执行最小/最大

对于MongoDB中的最小/最大,请使用$min和$max。让我们创建一个包含文档的集合-

> db.demo251.insertOne({"Marks":78});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46c0001627c0c63e7dba74")
}
> db.demo251.insertOne({"Marks":87});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46c0031627c0c63e7dba75")
}
> db.demo251.insertOne({"Marks":56});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46c0061627c0c63e7dba76")
}
> db.demo251.insertOne({"Marks":76});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e46c00c1627c0c63e7dba77")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo251.find();

这将产生以下输出-

{ "_id" : ObjectId("5e46c0001627c0c63e7dba74"), "Marks" : 78 }
{ "_id" : ObjectId("5e46c0031627c0c63e7dba75"), "Marks" : 87 }
{ "_id" : ObjectId("5e46c0061627c0c63e7dba76"), "Marks" : 56 }
{ "_id" : ObjectId("5e46c00c1627c0c63e7dba77"), "Marks" : 76 }

以下是在MongoDB中实现最小/最大聚合的查询-

> db.demo251.aggregate([
...   { "$group": {
...      "_id": null,
...      "MaxMarks": { "$max": "$Marks" },
...      "MinMarks": { "$min": "$Marks" }
...   }}
...])

这将产生以下输出-

{ "_id" : null, "MaxMarks" : 87, "MinMarks" : 56 }