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

MongoDB สั่งซื้อเอกสารในคอลเล็กชันเดียวอย่างไร


MongoDB สั่งซื้อเอกสารในคอลเล็กชันเดียวด้วยความช่วยเหลือจากโอเปอเรเตอร์ $natural มันเก็บเอกสารตามที่เป็นเมื่อเราได้รับจาก find() คำสั่งซื้อเริ่มต้นคือ $ธรรมชาติ ให้เราดูไวยากรณ์ −

db.yourCollectionName.find().sort({ "$natural":1 });

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลเลกชันด้วยเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -

> db.orderDocsDemo.insertOne({"UserScore":87});{ "acknowledged" :true, "insertedId" :ObjectId("5c9531a316f542d757e2b44b")}> db.orderDocsDocsDemo.insertOne({"UserScore":98 });{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9531a816f542d757e2b44c")}> db.orderDocsDemo.insertOne({"UserScore":99});{ "รับทราบ":จริง "insertedId" :ObjectId "5c9531b216f542d757e2b44d")}> db.orderDocsDemo.insertOne ({"UserScore":67});{ "รับทราบ" :จริง "insertedId" :ObjectId ("5c9531b716f542d757e2b44e")}> sDemo :78});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9531bd16f542d757e2b44f")}> db.orderDocsDemo.insertOne({"UserScore":91});{ "acknowledged" :จริง "insertedId" :ObjectId("5c9531c416f542d757e2b450")}> db.orderDocsDemo.insertOne({"UserScore":86});{ "acknowledged" :true, "insertedId" :ObjectId("5c9531c816f542d757e2b>451")}451")} 

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังต่อไปนี้ −

> db.orderDocsDemo.find();

ต่อไปนี้เป็นผลลัพธ์ -

{ "_id" :ObjectId("5c9531a316f542d757e2b44b"), "UserScore" :87 }{ "_id" :ObjectId("5c9531a816f542d757e2b44c"), "UserScore" :98 }{ "_id216d" :5db2b44c , "UserScore" :99 }{ "_id" :ObjectId("5c9531b716f542d757e2b44e"), "UserScore" :67 }{ "_id" :ObjectId("5c9531bd16f542d757e2b44f"), "UserScore" _ id 78" :"5c9531c416f542d757e2b450"), "UserScore" :91 }{ "_id" :ObjectId("5c9531c816f542d757e2b451"), "UserScore" :86 }

นี่คือแบบสอบถามเพื่อสั่งซื้อเอกสารในชุดเดียว -

> db.orderDocsDemo.find().sort({ "$natural":1 });

ต่อไปนี้เป็นผลลัพธ์ -

{ "_id" :ObjectId("5c9531a316f542d757e2b44b"), "UserScore" :87 }{ "_id" :ObjectId("5c9531a816f542d757e2b44c"), "UserScore" :98 }{ "_id216d" :5db2b44c , "UserScore" :99 }{ "_id" :ObjectId("5c9531b716f542d757e2b44e"), "UserScore" :67 }{ "_id" :ObjectId("5c9531bd16f542d757e2b44f"), "UserScore" _ id 78" :"5c9531c416f542d757e2b450"), "UserScore" :91 }{ "_id" :ObjectId("5c9531c816f542d757e2b451"), "UserScore" :86 }

ดูตัวอย่างผลลัพธ์ด้านบน เราได้รับเอกสารเดียวกันในวิธีที่เราแทรก

เพื่อให้ได้เอกสารที่จัดเรียง ใช้แบบสอบถามต่อไปนี้ −

> db.orderDocsDemo.find().sort({ "UserScore":1 });

ต่อไปนี้เป็นผลลัพธ์ -

{ "_id" :ObjectId("5c9531b716f542d757e2b44e"), "UserScore" :67 }{ "_id" :ObjectId("5c9531bd16f542d757e2b44f"), "UserScore" :78 }{ "_id" :7dc5c2b44f" :5c9531bd16f542d757e2b44f , "UserScore" :86 }{ "_id" :ObjectId("5c9531a316f542d757e2b44b"), "UserScore" :87 }{ "_id" :ObjectId("5c9531c416f542d757e2b450"), "UserScore" _id" 91:} d "5c9531a816f542d757e2b44c"), "UserScore" :98 }{ "_id" :ObjectId("5c9531b216f542d757e2b44d"), "UserScore" :99 }