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 的降序返回的文档。