เพื่อหาเอกสารที่เพิ่มล่าสุด ให้ใช้ sort() ร่วมกับ limit(1) โดยจัดเรียงตาม _id แบบ descending (ค่ามากที่สุด = สร้างล่าสุด) เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:
> 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") }
แสดงเอกสารทั้งหมด:
> 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);
เหตุผล: ObjectId ใน MongoDB มี timestamp ต่อจากหน้าสู่หลัง ดังนั้นการเรียง _id แบบ descending (-1) จะได้เอกสารที่สร้างล่าสุด