หากต้องการรับเอกสารปัจจุบันและก่อนหน้า ให้ใช้ sort() เนื่องจากเราต้องการเอกสารเพียง 2 ฉบับ จึงใช้ LIMIT(2).
ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo360.insertOne({id:101,"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e56a10c54a481fef8ec7a15") } > db.demo360.insertOne({id:102,"Name":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e56a11254a481fef8ec7a16") } > db.demo360.insertOne({id:103,"Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e56a11a54a481fef8ec7a17") } > db.demo360.insertOne({id:104,"Name":"Mike"}); { "acknowledged" : true, "insertedId" : ObjectId("5e56a11f54a481fef8ec7a18") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo360.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e56a10c54a481fef8ec7a15"), "id" : 101, "Name" : "Chris" } { "_id" : ObjectId("5e56a11254a481fef8ec7a16"), "id" : 102, "Name" : "David" } { "_id" : ObjectId("5e56a11a54a481fef8ec7a17"), "id" : 103, "Name" : "Bob" } { "_id" : ObjectId("5e56a11f54a481fef8ec7a18"), "id" : 104, "Name" : "Mike" }
ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาเอกสารปัจจุบันและก่อนหน้าใน MongoDB -
> db.demo360.find({ id: { $lte: 102 } }, {id:1, Name: 1 }).sort({_id: -1}).limit(2);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e56a11254a481fef8ec7a16"), "id" : 102, "Name" : "David" } { "_id" : ObjectId("5e56a10c54a481fef8ec7a15"), "id" : 101, "Name" : "Chris" }