要获取最后插入的文档,请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" }