Để tính min/max trong MongoDB, sử dụng toán tử $min và $max trong stage $group.
Tạo collection với điểm số:
> 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") }
Hiển thị dữ liệu:
> db.demo251.find();
{ "_id" : ObjectId("5e46c0001627c0c63e7dba74"), "Marks" : 78 }
{ "_id" : ObjectId("5e46c0031627c0c63e7dba75"), "Marks" : 87 }
{ "_id" : ObjectId("5e46c0061627c0c63e7dba76"), "Marks" : 56 }
{ "_id" : ObjectId("5e46c00c1627c0c63e7dba77"), "Marks" : 76 }
Aggregation tính Min và Max cùng lúc:
> db.demo251.aggregate([
... { "$group": {
... "_id": null,
... "MaxMarks": { "$max": "$Marks" },
... "MinMarks": { "$min": "$Marks" }
... }}
...])
Kết quả trả về Min=56, Max=87:
{ "_id" : null, "MaxMarks" : 87, "MinMarks" : 56 }