ในการจัดเรียงใน MongoDB คุณสามารถใช้เมธอด sort()
กรณีที่ 1 - เรียงลำดับจากน้อยไปมาก ไวยากรณ์มีดังนี้ −
db.yourCollectionName.find().sort({yourField:1});
กรณีที่ 2 - เรียงลำดับจากมากไปน้อย ไวยากรณ์มีดังนี้ −
db.yourCollectionName.find().sort({yourField:-1});
เพื่อให้เข้าใจแนวคิด ให้เราสร้างคอลเลกชันพร้อมกับเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -
> db.sortingDemo.insertOne({"Value":100});{ "acknowledged" :true, "insertedId" :ObjectId("5c8f8e2ed3c9d04998abf006")}> db.sortingDemo.insertOne({"Value":1 });{ "รับทราบ" :จริง "insertedId" :ObjectId("5c8f8e31d3c9d04998abf007")}> db.sortingDemo.insertOne({"Value":150});{ "acknowledged" :จริง "insertedId" :ObjectId( "5c8f8e34d3c9d04998abf008")}> db.sortingDemo.insertOne({"Value":250});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c8f8e37d3c9d04998abf009")}> db.One :5});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c8f8e3bd3c9d04998abf00a")}> db.sortingDemo.insertOne({"Value":199});{ "acknowledged" :จริง "insertedId" :ObjectId("5c8f8e3ed3c9d04998abf00b")}> db.sortingDemo.insertOne({"Value":243});{ "acknowledged" :true, "insertedId" :ObjectId("5c8f8e44d3c9d04998}em{".abf00cinsort") ค่า":290});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c8f8e48d3c9d04998abf00d")}
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้ −
> db.sortingDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" :ObjectId("5c8f8e2ed3c9d04998abf006"), "Value" :100 }{ "_id" :ObjectId"("5c8f8e31d3c9d04998abf007"), "Value" :1 }{8f34c00("5c8f8e31d3c9d04998abf007"), "Value" :1 }{8f34c00(" :cd048f346 , "ค่า" :150 }{ "_id" :ObjectId("5c8f8e37d3c9d04998abf009"), "Value" :250 }{ "_id" :ObjectId("5c8f8e3bd3c9d04998abf00a"), "Value "_ id" :5 d() "5c8f8e3ed3c9d04998abf00b"), "ค่า" :199 }{ "_id" :ObjectId("5c8f8e44d3c9d04998abf00c"), "ค่า" :243 }{ "_id" :ObjectId("5c8f900e48d":ObjectId("5c8f900e48d":>กรณีที่ 1 − นี่คือแบบสอบถามเพื่อให้ได้ผลลัพธ์ในลำดับจากน้อยไปมาก
> db.sortingDemo.find().sort({Value:1});ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" :ObjectId("5c8f8e31d3c9d04998abf007"), "Value" :1 }{ "_id" :ObjectId("5c8f8e3bd3c9d04998abf00a"), "Value" :5 }{8ObjectIdc00d(" :5 } , "ค่า" :100 }{ "_id" :ObjectId("5c8f8e34d3c9d04998abf008"), "ค่า" :150 }{ "_id" :ObjectId("5c8f8e3ed3c9d04998abf00b"), "Value" _ id :199 "5c8f8e44d3c9d04998abf00c"), "ค่า" :243 }{ "_id" :ObjectId("5c8f8e37d3c9d04998abf009"), "Value" :250 }{ "_id" :ObjectId("5c8f9ald00e48d3":ObjectId("5c8f9ald00e48d4">กรณีที่ 2 − นี่คือแบบสอบถามเพื่อให้ได้ผลลัพธ์ในลำดับจากมากไปน้อย แบบสอบถามมีดังนี้ −
> db.sortingDemo.find().sort({Value:-1});ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" :ObjectId("5c8f8e48d3c9d04998abf00d"), "Value" :290 }{ "_id" :ObjectId("5c8f8e37d3c9d04998abf009"), "Value" :250 }{ "_id" :045998abf009" , "ค่า" :243 }{ "_id" :ObjectId("5c8f8e3ed3c9d04998abf00b"), "Value" :199 }{ "_id" :ObjectId("5c8f8e34d3c9d04998abf008"), "Value" :Id "5c8f8e2ed3c9d04998abf006"), "Value" :100 }{ "_id" :ObjectId("5c8f8e3bd3c9d04998abf00a"), "Value" :5 }{ "_id" :ObjectId("5c8f8epren":049":ObjectId("5c8f8epre":04:04>