MongoDB查询以查找集合中的最后一个对象?

要查找集合中的最后一个对象,首先sort()要对值进行排序。使用limit()得到一些值,即,如果你只想要最后一个对象,然后使用限制(1)。

首先让我们创建一个包含文档的集合-

> db.demo141.insertOne({"Name":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c347fdf09dd6d08539ae")
}
> db.demo141.insertOne({"Name":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c34bfdf09dd6d08539af")
}
> db.demo141.insertOne({"Name":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c34ffdf09dd6d08539b0")
}
> db.demo141.insertOne({"Name":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e31c352fdf09dd6d08539b1")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo141.find();

这将产生以下输出-

{ "_id" : ObjectId("5e31c347fdf09dd6d08539ae"), "Name" : "Chris" }
{ "_id" : ObjectId("5e31c34bfdf09dd6d08539af"), "Name" : "David" }
{ "_id" : ObjectId("5e31c34ffdf09dd6d08539b0"), "Name" : "Bob" }
{ "_id" : ObjectId("5e31c352fdf09dd6d08539b1"), "Name" : "Mike" }

以下是查询以查找集合中的最后一个对象-

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

这将产生以下输出-

{ "_id" : ObjectId("5e31c352fdf09dd6d08539b1"), "Name" : "Mike" }