如何在 MongoDB 中获得具有最大 ID 的元素?


要获取具有最大 ID 的元素,可以使用 find() 方法。为了理解上述概念,让我们使用文档创建一个集合。查询如下 −

> db.getElementWithMaxIdDemo.insertOne({"Name":"John","Age":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8bbce480f10143d8431e1c")
}
> db.getElementWithMaxIdDemo.insertOne({"Name":"Larry","Age":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8bbcec80f10143d8431e1d")
}
> db.getElementWithMaxIdDemo.insertOne({"Name":"David","Age":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8bbcf580f10143d8431e1e")
}
> db.getElementWithMaxIdDemo.insertOne({"Name":"Chris","Age":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8bbcfe80f10143d8431e1f")
}
> db.getElementWithMaxIdDemo.insertOne({"Name":"Robert","Age":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8bbd0880f10143d8431e20")
}

借助 find() 方法显示集合中的所有文档。查询如下 −

> db.getElementWithMaxIdDemo.find().pretty();

以下是输出 −

{
   "_id" : ObjectId("5c8bbce480f10143d8431e1c"),
   "Name" : "John",
   "Age" : 21
}
{
   "_id" : ObjectId("5c8bbcec80f10143d8431e1d"),
   "Name" : "Larry",
   "Age" : 24
}
{
   "_id" : ObjectId("5c8bbcf580f10143d8431e1e"),
   "Name" : "David",
   "Age" : 23
}
{
   "_id" : ObjectId("5c8bbcfe80f10143d8431e1f"),
   "Name" : "Chris",
   "Age" : 20
}
{
   "_id" : ObjectId("5c8bbd0880f10143d8431e20"),
   "Name" : "Robert",
   "Age" : 25
}

以下是获取具有最大 ID 的元素的查询 −

> db.getElementWithMaxIdDemo.find().sort({_id:-1}).limit(1).pretty()

以下是具有最大 ID 的记录输出 −

{
   "_id" : ObjectId("5c8bbd0880f10143d8431e20"),
   "Name" : "Robert",
   "Age" : 25
}

更新于:2019 年 7 月 30 日

1 千次以上观看

开启你的 职业生涯

完成课程以获得认证

开始
广告