Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

วิธีการเรียงลำดับใน MongoDB?


ในการจัดเรียงใน 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>