如何在 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 千次以上觀看

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告