To get last inserted document, use sort() along with limit(1).
Let us first create a collection with documents −
> 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")
}Display all documents from a collection with the help of find() method −
> db.getLastInsertedDocument.find();
Output
{ "_id" : ObjectId("5cefb17eef71edecf6a1f6a8"), "Name" : "John" }
{ "_id" : ObjectId("5cefb181ef71edecf6a1f6a9"), "Name" : "Chris" }
{ "_id" : ObjectId("5cefb185ef71edecf6a1f6aa"), "Name" : "Robert" }Following is the query to get last inserted document −
> db.getLastInsertedDocument.find({}).sort({_id:-1}).limit(1);Output
{ "_id" : ObjectId("5cefb185ef71edecf6a1f6aa"), "Name" : "Robert" }