MongoDB 中的分页
在本文中,详细讨论了 MongoDB 中的分页。 此外,还简要详细地讨论了 MongoDB 中分页的使用和工作。
最后,解释了在 MongoDB 中进行分页的不同方法。
本文目录如下:
- MongoDB 中的分页
- 在 MongoDB 中处理分页
- MongoDB 分页的不同方式
MongoDB 中的分页
MongoDB 是一种流行的 NoSQL 数据库,它管理集合中 JSON 类型文档中的数据。 有时可能只需要恢复几个文档,或者您可能会寻求干净的输出。
MongoDB 中利用分页现象来提供可读的输出。 分页是一种以页面格式显示大量无组织数据的方法。
与 MongoDB 的常用技术相比,借助分页可以更快地获取结果。
MongoDB 分页提供了一种有效的技术来描述数据,使分页快速高效; 在 MongoDB 中,您可以快速检查许多数据。
分页实现的本质应用是在数据库层面使用skip、limit、sort; 但是,limit 和 skip 在数据库级别使用时会出现各种问题。
分页只是利用上一页检索下一页的过程。 在MongoDB中,可以在collections字段上建立索引来加速数据访问。
分页方法:
- 使用 skip() 和 limit() 方法
- 使用 find() 和 limit() 方法
- 使用 $slice 方法分页
- 通过创建索引进行分页
- 使用 sort() 方法分页
- 使用范围查询进行分页
在 MongoDB 中处理分页
- MongoDB 是一个基于文档的数据库,因此在使用 MongoDB 时分页是一个非常重要的用例。
- 当您在 MongoDB 中对响应进行分页时,您的文档结果是显而易见的并且格式易于理解。
-
为了对 MongoDB 数据库进行分页,使用了以下场景。
- 3.1. 处理批处理文件
- 3.2. 在用户屏幕或界面上显示大量结果集
- 您不能考虑 MongoDB 中的客户端和服务器端分页,因为与其他选项相比,它非常昂贵。
- 您正在数据库级别处理分页,并且还在优化数据库以在数据库级别进行分页。
对 MongoDB 数据库进行分页的不同方法
使用 Find() 和 limit() 方法
MongoDB 的 limit 方法表示文档的最大数量。 页数以整数形式提供,当查询达到限制时,将打印结果。
要在 MongoDB 中使用 limit 方法,请使用如下所示的语法。
db.collection-name.find().limit()
语法中的集合名称必须替换为要应用此方法的集合的名称。 find()
函数返回所有文档,而 limit()
方法用于限制返回的文档数。
例如,以下命令只会发布学生集合中的前三项。
db.students.find().limit(3).pretty()
使用 limit() 和 skip() 方法
要解决 MongoDB 的分页现象,请结合使用 limit 方法和 skip()
函数。 如前所述,早期的限制技术显示集合的最大文档数。
相反,skip()
方法对于忽略集合中提供的文档数量很有用。 当使用 limit()
和 skip()
方法时,结果会更加精细。
使用 limit()
和 skip()
方法的语法如下。
db.Collection-name.find().skip().limit()
其中 skip()
和 limit()
只取数值。
下面列出的命令将执行以下操作。
- skip(2) - 此方法将跳过学生集合中的前两个文档。
- limit(3) - 跳过前两个文档后,将打印接下来的三个文档。
db.students.find().skip(2).limit(3)
使用 Range 查询
顾名思义,此查询根据任意字段的范围处理文档。 使用范围查询的语法如下。
db.collection-name.find().min({_id: }).max({_id: })
以下示例显示学生集合中介于 3 和 5 之间的文档。可以看到输出以 min()
函数的 value(3)
开始,并在 max()
方法的 value(5)
之前结束。
db.students.find().min({_id: 3}).max({_id: 5})
使用 sort() 方法
使用 sort()
函数对集合中的文档重新排序。 布局可以按升序或降序排列。
使用排序方法的语法如下。
db.collection-name.find().sort({<field-name>: <1 or -1>})
字段名可以是任意字段,根据该字段组织文档,可以插入1表示升序排列,-1表示降序排列。
上面使用的命令将按 _id
字段降序排列学生集合中的文档。
db.students.find().sort({id: -1})
使用 $slice 运算符
在 find 方法中,$slice 运算符用于从所有文档的单个字段中修剪一些元素,并仅显示这些文档。
db.collection-name.find({<field-name>, {$slice: [<num>, <num>]}})
您已经为该运算符创建了另一个带有数组字段的员工集合。 使用 MongoDB 的 $slice 运算符,以下命令将显示人员集合的随机字段中两个值的数量。
在以下命令中,1 跳过随机字段的第一个值,而 2 显示跳过后的下 2 个值。
db.staff.find({},{random: {$slice: [1,2]}})
使用 createIndex() 方法
该索引对于在最短时间内检索文档至关重要。 当在字段上形成索引时,查询使用索引号来标识字段而不是遍历整个集合。
以下是创建索引的语法。
db.collection-name.createIndex({<field-name>: <1 or -1>})
<field-name>
可以是任何字段,但顺序值始终相同。 此处的命令将在学生集合的名称字段上构建升序索引。
db.students.createIndex({name: 1})
MongoDB 以其对文档存储和检索的独特支持而闻名。 数据库管理员可以使用 MongoDB 中的分页以易于理解且有吸引力的格式检索文档。
本文向您展示了分页现象在 MongoDB 中是如何工作的。 MongoDB 有许多方法和运算符,这里有示例详细说明。
每种方法都有其从数据库集合中检索文档的技术。 您可以选择最适合您需要的任何选项。
相关文章
MongoDB 中的 $unset 运算符
发布时间:2023/05/10 浏览次数:136 分类:MongoDB
-
本文将讨论 $unset 运算符在 MongoDB 中的工作原理。 此外,我们将演示使用此运算符从 MongoDB 集合中的所有文档中删除一个字段。MongoDB 中的 $unset 运算符 $unset 是用于从实体中删除字段的运算符。
MongoDB 中的 $ne 运算符
发布时间:2023/05/10 浏览次数:82 分类:MongoDB
-
本文将讨论 $ne 运算符如何在 MongoDB 中工作。 另外,我们会列举它与$not操作符的区别。MongoDB 中的 $ne 运算符 $ne 是MongoDB中的一个运算符,代表不等于。
MongoDB $Set 运算符
发布时间:2023/05/10 浏览次数:54 分类:MongoDB
-
在本文中,我们将学习如何使用 $set 运算符部分更新 MongoDB 中的对象,以便新对象与现有对象重叠/合并。
MongoDB 中 $push 和 $addToSet 的区别
发布时间:2023/05/10 浏览次数:105 分类:MongoDB
-
这篇指导文章将告诉您什么是 MongoDB 中的运算符以及它们是如何描述的。 此外,对 $push 和 $addToSet 运算符进行了简要的详细说明。 $push 和 $addToSet 之间的区别通过代码段详细说明。
在 MongoDB 中按日期对集合进行排序
发布时间:2023/05/10 浏览次数:151 分类:MongoDB
-
在本 MongoDB 教程中,讨论了在 MongoDB 中对集合进行排序的问题。 简要说明了对数据库中的集合进行排序的不同方法。在 MongoDB 中使用 sort() 函数
统计 MongoDB 中的记录
发布时间:2023/05/10 浏览次数:83 分类:MongoDB
-
本文讨论 MongoDB 中的运算符、聚合运算符以及计算总记录数的不同方法。MongoDB 中的操作 CRUD 操作是用户界面的概念,允许用户浏览、搜索和更改数据库中的对象。
为 MongoDB 集合中的所有文档选择单个或多个字段
发布时间:2023/05/10 浏览次数:99 分类:MongoDB
-
在这篇 MongoDB 教程文章中,您将学习如何通过指定或限制要返回的字段的投影执行基本查询操作,从而为 MongoDB 集合中给定的所有文档选择单个或多个字段。
在 MongoDB 中使用 findOneAndUpdate() 方法
发布时间:2023/05/10 浏览次数:181 分类:MongoDB
-
findOneAndUpdate() 方法更新集合中符合选择条件的第一个匹配文档。 使用此方法,用户可以替换嵌入的文档等。
MongoDB 中的漂亮打印
发布时间:2023/05/10 浏览次数:199 分类:MongoDB
-
本文将讨论如何在 MongoDB 中使用漂亮的打印来显示格式化的结果。MongoDB 中的漂亮打印