MongoDB 查詢使用 limit 和 sort 進行修改

MongoDB 提供查詢修飾符,例如 limitOrders 子句,以便在執行查詢時提供更大的靈活性。我們將看看以下查詢修飾符

MongoDB limit

此修飾符用於限制查詢結果集中返回的文件數。以下示例顯示瞭如何完成此操作。

db.Employee.find().limit(2).forEach(printjson);

程式碼說明:

  1. 上面的程式碼使用 find 函式返回集合中的所有文件,然後使用 limit 子句將返回的文件數限制為 2。

輸出:

如果命令執行成功,將顯示以下輸出

> db.Employee.find().limit(2).forEach(printjson);
{
	"_id" : ObjectId("563479df8a8a4246bd27d786"), 
	"Employeeid" : 3, 
	"EmployeeName" : '"Joe"
}
{
    "_id" : ObjectId("563479d48a8a4246bd27d785"), 
    "Employeeid" : 2,
    "EmployeeName" : ' "Mohan"
}

輸出清楚地顯示,由於存在 limit 修飾符,因此最多隻有 2 條記錄作為結果集的一部分以基於 ObjectId 的升序返回。

MongoDB sort

可以根據集合中任何鍵的升序或降序指定要返回的文件的順序。以下示例顯示瞭如何完成此操作。

db.Employee.find().sort({Employeeid:-1}).forEach(printjson)

程式碼說明:

  1. 上面的程式碼採用 sort 函式,該函式返回集合中的所有文件,然後使用修飾符更改記錄的返回順序。這裡 -1 表示我們想要根據 Employeeid 的降序返回文件。

如果命令執行成功,將顯示以下輸出

輸出:

> db.Employee.find().sort({Employeeid:-1}).forEach(printjson);
{
	"_id" : ObjectId("563479df8a8a4246bd27d786"), 
	"Employeeid" : 3, 
	"EmployeeName" : '"Joe"
}
{
    "_id" : ObjectId("563479d48a8a4246bd27d785"), 
    "Employeeid" : 2,
    "EmployeeName" : ' "Mohan"
}
{
	"_id" : objectId("563479cc8a8a4246bd27d784"), 
	"Employeeid" : 1, 
	"EmployeeName" :'"Smith"
}

輸出清楚地顯示按 Employeeid 的降序返回的文件。