如何使用 MongoDB 連續釋出經過排序的最新 N 條記錄?


要釋出經過排序的最新 N 條記錄,請使用 sort() 和 limit()。在此處,使用 limit() 設定想要顯示的記錄數。我們建立一個包含文件的集合 −

> db.demo454.insertOne({"ClientName":"Chris"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7cce8cdbcb9adb296c95c0")
}
> db.demo454.insertOne({"ClientName":"John"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7cce95dbcb9adb296c95c1")
}
> db.demo454.insertOne({"ClientName":"Bob"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7cce9fdbcb9adb296c95c2")
}
> db.demo454.insertOne({"ClientName":"David"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7ccea6dbcb9adb296c95c3")
}
> db.demo454.insertOne({"ClientName":"Mike"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7cceafdbcb9adb296c95c4")
}

使用 find() 方法顯示集合中的所有文件 −

> db.demo454.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5e7cce8cdbcb9adb296c95c0"), "ClientName" : "Chris" }
{ "_id" : ObjectId("5e7cce95dbcb9adb296c95c1"), "ClientName" : "John" }
{ "_id" : ObjectId("5e7cce9fdbcb9adb296c95c2"), "ClientName" : "Bob" }
{ "_id" : ObjectId("5e7ccea6dbcb9adb296c95c3"), "ClientName" : "David" }
{ "_id" : ObjectId("5e7cceafdbcb9adb296c95c4"), "ClientName" : "Mike" }

以下是使用 MongoDB 中 SORT() 和 LIMIT() 釋出最新 N 條記錄的查詢 −

> db.demo454.find().sort({ClientName:-1}).limit(3);

這將產生以下輸出 −

{ "_id" : ObjectId("5e7cceafdbcb9adb296c95c4"), "ClientName" : "Mike" }
{ "_id" : ObjectId("5e7cce95dbcb9adb296c95c1"), "ClientName" : "John" }
{ "_id" : ObjectId("5e7ccea6dbcb9adb296c95c3"), "ClientName" : "David" }

更新於: 2020 年 5 月 11 日

68 次瀏覽

開啟您的 事業

完成課程獲得認證

開始
廣告
© . All rights reserved.