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

การเรียงลำดับฟิลด์ MongoDB ที่มีทั้งจำนวนเต็มและทศนิยม

ใช้ sort() ตรงๆ MongoDB จัดการชนิดข้อมูลตัวเลขอัตโนมัติ

MongoDB สามารถเรียงลำดับค่าตัวเลขที่เป็น integer และ decimal ผสมกันได้โดยตรงด้วย sort()

สร้างข้อมูลตัวอย่าง

> db.demo755.insertOne({"Value":10});
> db.demo755.insertOne({"Value":10.5});
> db.demo755.insertOne({"Value":9.5});
> db.demo755.insertOne({"Value":12.5});
> db.demo755.insertOne({"Value":11.5});
> db.demo755.insertOne({"Value":6});

แสดงข้อมูลก่อนเรียง

> db.demo755.find();

ผลลัพธ์:

{ "_id" : ObjectId("5eae9e72a930c785c834e572"), "Value" : 10 }
{ "_id" : ObjectId("5eae9e75a930c785c834e573"), "Value" : 10.5 }
{ "_id" : ObjectId("5eae9e79a930c785c834e574"), "Value" : 9.5 }
{ "_id" : ObjectId("5eae9e7fa930c785c834e575"), "Value" : 12.5 }
{ "_id" : ObjectId("5eae9e87a930c785c834e576"), "Value" : 11.5 }
{ "_id" : ObjectId("5eae9e97a930c785c834e577"), "Value" : 6 }

คิวรีเรียงจากน้อยไปมาก

> db.demo755.find().sort({Value:1});

ผลลัพธ์: เรียงถูกต้องทั้ง int และ decimal

{ "_id" : ObjectId("5eae9e97a930c785c834e577"), "Value" : 6 }
{ "_id" : ObjectId("5eae9e79a930c785c834e574"), "Value" : 9.5 }
{ "_id" : ObjectId("5eae9e72a930c785c834e572"), "Value" : 10 }
{ "_id" : ObjectId("5eae9e75a930c785c834e573"), "Value" : 10.5 }
{ "_id" : ObjectId("5eae9e87a930c785c834e576"), "Value" : 11.5 }
{ "_id" : ObjectId("5eae9e7fa930c785c834e575"), "Value" : 12.5 }