MongoDB 查询使用 limit 和 sort 进行修改
MongoDB 提供查询修饰符,例如 limit
和 Orders
子句,以便在执行查询时提供更大的灵活性。我们将看看以下查询修饰符
MongoDB limit
此修饰符用于限制查询结果集中返回的文档数。以下示例显示了如何完成此操作。
db.Employee.find().limit(2).forEach(printjson);
代码说明:
- 上面的代码使用 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)
代码说明:
- 上面的代码采用
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 的降序返回的文档。