คุณต้องตั้งค่า numericOrdering:true สำหรับการจัดเรียงตัวอักษรและตัวเลข ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.alphanumericSortDemo.insertOne({"StudentId":"STU1010"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccf149adceb9a92e6aa194c")
}
> db.alphanumericSortDemo.insertOne({"StudentId":"STU1101"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccf14a2dceb9a92e6aa194d")
}
> db.alphanumericSortDemo.insertOne({"StudentId":"STU1901"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccf14a9dceb9a92e6aa194e")
}
> db.alphanumericSortDemo.insertOne({"StudentId":"STU908"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccf14aedceb9a92e6aa194f")
}
> db.alphanumericSortDemo.insertOne({"StudentId":"STU101"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccf14b2dceb9a92e6aa1950")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.alphanumericSortDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5ccf149adceb9a92e6aa194c"), "StudentId" : "STU1010" }
{ "_id" : ObjectId("5ccf14a2dceb9a92e6aa194d"), "StudentId" : "STU1101" }
{ "_id" : ObjectId("5ccf14a9dceb9a92e6aa194e"), "StudentId" : "STU1901" }
{ "_id" : ObjectId("5ccf14aedceb9a92e6aa194f"), "StudentId" : "STU908" }
{ "_id" : ObjectId("5ccf14b2dceb9a92e6aa1950"), "StudentId" : "STU101" } กรณีที่ 1 − เมื่อคุณต้องการผลลัพธ์ในลำดับจากน้อยไปมาก
นี่คือแบบสอบถามเพื่อทำการเรียงลำดับตัวอักษรและตัวเลขใน MongoDB -
> db.alphanumericSortDemo.find({}).sort({"StudentId" : 1}).collation( { locale: "en_US", numericOrdering: true }); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5ccf14b2dceb9a92e6aa1950"), "StudentId" : "STU101" }
{ "_id" : ObjectId("5ccf14aedceb9a92e6aa194f"), "StudentId" : "STU908" }
{ "_id" : ObjectId("5ccf149adceb9a92e6aa194c"), "StudentId" : "STU1010" }
{ "_id" : ObjectId("5ccf14a2dceb9a92e6aa194d"), "StudentId" : "STU1101" }
{ "_id" : ObjectId("5ccf14a9dceb9a92e6aa194e"), "StudentId" : "STU1901" } กรณีที่ 2 − เมื่อคุณต้องการผลลัพธ์ในลำดับจากมากไปน้อย
นี่คือแบบสอบถามเพื่อทำการเรียงลำดับตัวอักษรและตัวเลขใน MongoDB -
> db.alphanumericSortDemo.find({}).sort({"StudentId" : -1}).collation( { locale: "en_US", numericOrdering: true }); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5ccf14a9dceb9a92e6aa194e"), "StudentId" : "STU1901" }
{ "_id" : ObjectId("5ccf14a2dceb9a92e6aa194d"), "StudentId" : "STU1101" }
{ "_id" : ObjectId("5ccf149adceb9a92e6aa194c"), "StudentId" : "STU1010" }
{ "_id" : ObjectId("5ccf14aedceb9a92e6aa194f"), "StudentId" : "STU908" }
{ "_id" : ObjectId("5ccf14b2dceb9a92e6aa1950"), "StudentId" : "STU101" }