用于获取最后插入文档的 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" }

更新于: 30-Jul-2019

13K+ 次浏览

开启你的职业

通过完成课程获得认证

立即开始
广告