要查找集合中的最后一个对象,首先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" }