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

แบบสอบถาม MongoDB เพื่อรับเอกสารที่แทรกล่าสุด?


ในการรับเอกสารที่แทรกล่าสุด ให้ใช้ sort() พร้อมกับ limit(1).

ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.getLastInsertedDocument.insertOne({"Name":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefb17eef71edecf6a1f6a8")
}
> db.getLastInsertedDocument.insertOne({"Name":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefb181ef71edecf6a1f6a9")
}
> db.getLastInsertedDocument.insertOne({"Name":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cefb185ef71edecf6a1f6aa")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.getLastInsertedDocument.find();

ผลลัพธ์

{ "_id" : ObjectId("5cefb17eef71edecf6a1f6a8"), "Name" : "John" }
{ "_id" : ObjectId("5cefb181ef71edecf6a1f6a9"), "Name" : "Chris" }
{ "_id" : ObjectId("5cefb185ef71edecf6a1f6aa"), "Name" : "Robert" }

ต่อไปนี้เป็นแบบสอบถามที่จะได้รับเอกสารที่แทรกล่าสุด -

> db.getLastInsertedDocument.find({}).sort({_id:-1}).limit(1);

ผลลัพธ์

{ "_id" : ObjectId("5cefb185ef71edecf6a1f6aa"), "Name" : "Robert" }