用 skip 和 limit 顯示明確排序的 MongoDB 記錄?
您可以使用聚合框架,並利用 $sort、$skip 和 $limit 來顯示明確排序的記錄並跳過記錄,還可以設定限制。我們首先使用文件建立一個集合
> db.orderedDistinctDemo.insertOne({"Name":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8e0140b992277dae0e9")
}
> db.orderedDistinctDemo.insertOne({"Name":"Larry"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8e5140b992277dae0ea")
}
> db.orderedDistinctDemo.insertOne({"Name":"Larry"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8e7140b992277dae0eb")
}
> db.orderedDistinctDemo.insertOne({"Name":"Sam"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8ea140b992277dae0ec")
}
> db.orderedDistinctDemo.insertOne({"Name":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8ee140b992277dae0ed")
}
> db.orderedDistinctDemo.insertOne({"Name":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8f2140b992277dae0ee")
}
> db.orderedDistinctDemo.insertOne({"Name":"David"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8f6140b992277dae0ef")
}
> db.orderedDistinctDemo.insertOne({"Name":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ccfb8f9140b992277dae0f0")
}以下查詢使用 find() 方法顯示集合中的所有文件 -
> db.orderedDistinctDemo.find().pretty();
這會產生以下輸出 -
{ "_id" : ObjectId("5ccfb8e0140b992277dae0e9"), "Name" : "John" }
{ "_id" : ObjectId("5ccfb8e5140b992277dae0ea"), "Name" : "Larry" }
{ "_id" : ObjectId("5ccfb8e7140b992277dae0eb"), "Name" : "Larry" }
{ "_id" : ObjectId("5ccfb8ea140b992277dae0ec"), "Name" : "Sam" }
{ "_id" : ObjectId("5ccfb8ee140b992277dae0ed"), "Name" : "John" }
{ "_id" : ObjectId("5ccfb8f2140b992277dae0ee"), "Name" : "Carol" }
{ "_id" : ObjectId("5ccfb8f6140b992277dae0ef"), "Name" : "David" }
{ "_id" : ObjectId("5ccfb8f9140b992277dae0f0"), "Name" : "Carol" }這是使用 skip 和 limit 顯示明確排序的記錄的查詢 -
> db.orderedDistinctDemo.aggregate(
... { $group : { _id : "$Name" }},
... { $sort : { _id: 1 }},
... { $skip : 3 },
... { $limit : 8 }
... );這會產生以下輸出 -
{ "_id" : "Larry" }
{ "_id" : "Sam" }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP