หากต้องการรับรายการที่เรียงลำดับของเครื่องหมาย ให้ใช้ $sort ใช้ $limit:2 เพื่อแสดงเอกสารดังกล่าวเพียงสองฉบับที่มีเครื่องหมายน้อยที่สุด ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo709.insertOne({Name:"John","Marks":75}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839005d33e20ed1097b76") } > db.demo709.insertOne({Name:"Chris","Marks":45}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839075d33e20ed1097b77") } > db.demo709.insertOne({Name:"David","Marks":54}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839125d33e20ed1097b78") } > db.demo709.insertOne({Name:"Bob","Marks":69}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839295d33e20ed1097b79") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo709.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5ea839005d33e20ed1097b76"), "Name" : "John", "Marks" : 75 } { "_id" : ObjectId("5ea839075d33e20ed1097b77"), "Name" : "Chris", "Marks" : 45 } { "_id" : ObjectId("5ea839125d33e20ed1097b78"), "Name" : "David", "Marks" : 54 } { "_id" : ObjectId("5ea839295d33e20ed1097b79"), "Name" : "Bob", "Marks" : 69 }
ต่อไปนี้เป็นแบบสอบถามเพื่อให้ได้เอกสารสองฉบับที่มีคะแนนน้อยที่สุด -
> db.demo709.aggregate({ ... $group: { ... _id: '$Marks', ... ListOfName: { $push: '$Name' } ... } ... }, { ... $sort: { ... '_id': 1 ... } ... }, { ... $limit: 2 ... });
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 45, "ListOfName" : [ "Chris" ] } { "_id" : 54, "ListOfName" : [ "David" ] }