เพื่อให้ได้ค่าสูงสุดของคอลัมน์ใน MongoDB คุณสามารถใช้ sort() ร่วมกับ limit(1) ไวยากรณ์มีดังนี้ −
db.yourCollectionName.find().sort({"yourFieldName":-1}).limit(1);
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลเลกชันด้วยเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -
> db.gettingHighestValueDemo.insertOne({"Value":1029}); { "acknowledged" : true, "insertedId" : ObjectId("5c900b885705caea966c5574") } > db.gettingHighestValueDemo.insertOne({"Value":3029}); { "acknowledged" : true, "insertedId" : ObjectId("5c900b8d5705caea966c5575") } > db.gettingHighestValueDemo.insertOne({"Value":1092}); { "acknowledged" : true, "insertedId" : ObjectId("5c900b925705caea966c5576") } > db.gettingHighestValueDemo.insertOne({"Value":18484}); { "acknowledged" : true, "insertedId" : ObjectId("5c900b955705caea966c5577") } > db.gettingHighestValueDemo.insertOne({"Value":37474}); { "acknowledged" : true, "insertedId" : ObjectId("5c900b9c5705caea966c5578") } > db.gettingHighestValueDemo.insertOne({"Value":88474}); { "acknowledged" : true, "insertedId" : ObjectId("5c900ba75705caea966c5579") } > db.gettingHighestValueDemo.insertOne({"Value":1938474}); { "acknowledged" : true, "insertedId" : ObjectId("5c900bab5705caea966c557a") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้:
> db.gettingHighestValueDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : ObjectId("5c900b885705caea966c5574"), "Value" : 1029 } { "_id" : ObjectId("5c900b8d5705caea966c5575"), "Value" : 3029 } { "_id" : ObjectId("5c900b925705caea966c5576"), "Value" : 1092 } { "_id" : ObjectId("5c900b955705caea966c5577"), "Value" : 18484 } { "_id" : ObjectId("5c900b9c5705caea966c5578"), "Value" : 37474 } { "_id" : ObjectId("5c900ba75705caea966c5579"), "Value" : 88474 } { "_id" : ObjectId("5c900bab5705caea966c557a"), "Value" : 1938474 }
นี่คือแบบสอบถามเพื่อรับค่าสูงสุดของคอลัมน์ใน MongoDB -
> db.gettingHighestValueDemo.find().sort({"Value":-1}).limit(1);
ต่อไปนี้เป็นผลลัพธ์ที่แสดงค่าสูงสุด -
{ "_id" : ObjectId("5c900bab5705caea966c557a"), "Value" : 1938474 }