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

ค้นหาเอกสารปัจจุบันและก่อนหน้าใน MongoDB


หากต้องการรับเอกสารปัจจุบันและก่อนหน้า ให้ใช้ 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" }