如何使用 Express.js 和 MongoDB 实现分页

阅读时长 7 分钟读完

前言

在 Web 开发中,分页是一个常见的需求。Express.js 是一个流行的 Node.js Web 框架,而 MongoDB 是一个流行的 NoSQL 数据库。本文将介绍如何使用 Express.js 和 MongoDB 实现分页。

准备工作

在开始之前,需要安装以下软件:

  • Node.js
  • MongoDB

在安装完之后,可以创建一个新的 Express.js 项目,使用以下命令:

这将创建一个名为 myapp 的新项目,并使用 EJS 作为视图引擎。

实现分页

创建数据库

首先,需要创建一个名为 mydatabase 的 MongoDB 数据库。可以使用以下命令:

创建数据模型

在 Express.js 中使用 Mongoose 来操作 MongoDB。在 models 目录下创建一个名为 user.js 的文件,用于定义用户数据模型。

-- -------------------- ---- -------
----- -------- - --------------------

----- ---------- - --- -----------------
  ----- -------
  ------ -------
  --------- -------
---

----- ---- - ---------------------- ------------

-------------- - -----

添加测试数据

routes 目录下创建一个名为 users.js 的文件,用于添加测试数据。

-- -------------------- ---- -------
----- ------- - -------------------
----- ------ - -----------------
----- ---- - --------------------------

------------------ ----- ----- ---- ----- -- -
  --- -
    ----- ----- - -
      - ----- -------- ------ -------------------- --------- ----------- --
      - ----- ------ ------ ------------------ --------- ----------- --
      - ----- ---------- ------ ---------------------- --------- ----------- --
      - ----- -------- ------ -------------------- --------- ----------- --
      - ----- ------ ------ ------------------ --------- ----------- --
      - ----- -------- ------ -------------------- --------- ----------- --
      - ----- -------- ------ -------------------- --------- ----------- --
      - ----- -------- ------ -------------------- --------- ----------- --
      - ----- ------- ------ ------------------- --------- ----------- --
      - ----- ------- ------ ------------------- --------- ------------ --
    --
    ----- -----------------------
    -------------- ----- ----------------
  - ----- ----- -
    ----------
  -
---

-------------- - -------

使用以下命令添加测试数据:

在浏览器中访问 http://localhost:3000/users/add,将添加测试数据到 mydatabase 数据库中。

实现分页 API

routes 目录下创建一个名为 api.js 的文件,用于实现分页 API。

-- -------------------- ---- -------
----- ------- - -------------------
----- ------ - -----------------
----- ---- - --------------------------

-------------------- ----- ----- ---- ----- -- -
  --- -
    ----- ---- - ------------------------ -- --
    ----- ----- - ------------------------- -- ---
    ----- ---- - ----- - -- - ------
    ----- ----- - ----- ------------------------------------
    ----- ----- - ----- ----------------------
    ----- ---------- - --------------- - -------
    ----- ----------- - -------------------- ------ ------------
    ----------
      ------
      -----------
      ------------
    ---
  - ----- ----- -
    ----------
  -
---

-------------- - -------

这将创建一个名为 /api/users 的 API,用于返回用户列表和分页信息。API 接受两个可选参数:

  • page:当前页数,默认为 1。
  • limit:每页显示的记录数,默认为 10。

测试分页 API

使用以下命令启动 Express.js 服务器:

在浏览器中访问 http://localhost:3000/api/users?page=1&limit=3,将返回第一页的前三个用户,并显示分页信息:

-- -------------------- ---- -------
-
  -------- -
    -
      ------ ---------------------------
      ------- --------
      -------- --------------------
      ----------- ------------
      ------ -
    --
    -
      ------ ---------------------------
      ------- ------
      -------- ------------------
      ----------- ------------
      ------ -
    --
    -
      ------ ---------------------------
      ------- ----------
      -------- ----------------------
      ----------- ------------
      ------ -
    -
  --
  ------------- --
  -------------- -
-

总结

本文介绍了如何使用 Express.js 和 MongoDB 实现分页。通过创建数据库、数据模型和测试数据,以及实现分页 API,可以方便地实现分页功能。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/655b1732d2f5e1655d54314f

纠错
反馈