# 分页查询示例

URL: https://caijiao.org/mongodb/03-query/06-pagination
Source: docs/mongodb/03-query/06-pagination.md
Description: 本章节通过示例介绍 MongoDB 中分页查询的实现方法，帮助用户高效获取分批数据。

分页查询是 Web 应用中常见的数据获取方式，用于分批加载数据，提升性能和用户体验。

## 基本分页实现

使用 `skip()` 和 `limit()` 方法实现分页。假设每页显示 10 条数据，第 2 页查询示例如下：

```js
const page = 2
const pageSize = 10

db.users.find()
  .skip((page - 1) * pageSize)
  .limit(pageSize)
````

* `skip` 跳过前 `(page - 1) * pageSize` 条记录。
* `limit` 限制返回 `pageSize` 条记录。

## 带排序的分页查询

通常分页会结合排序，确保数据顺序一致：

```js
db.users.find()
  .sort({ createdAt: -1 })  // 按创建时间倒序
  .skip((page - 1) * pageSize)
  .limit(pageSize)
```

## 使用索引优化分页

对于大数据量集合，建议对排序字段建立索引，提高分页查询性能。

---

分页查询能有效控制数据量，提升应用响应速度和用户体验，是开发中常用的查询技巧。
