使用 Express.js 和 MongoDB 实现基本的 CRUD 功能教程

阅读时长 7 分钟读完

Express.js 和 MongoDB 是现代 Web 开发中最流行的技术之一。它们被广泛用于构建服务器端应用程序和 API,以及处理数据。在本文中,我们将介绍如何使用 Express.js 和 MongoDB 实现基本的 CRUD(Create, Read, Update, Delete)功能。

什么是 CRUD?

CRUD 是指四个基本操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)。这些操作通常用于管理数据库中的数据。

Express.js 和 MongoDB

Express.js 是一个 Node.js 的 Web 框架,它提供了一系列工具和中间件,使得构建 Web 应用程序变得更加容易。MongoDB 是一个非常流行的 NoSQL 数据库,它使用文档来组织数据。MongoDB 的文档类似于 JSON 对象,而且它的查询语言非常强大。

安装和设置

在开始之前,我们需要安装 Node.js 和 MongoDB。安装完成后,我们可以创建一个新的 Express.js 应用程序并安装必要的依赖:

在这里,我们使用了 mongoose 这个 Node.js 的 MongoDB 驱动程序,以及 body-parser 中间件,它可以解析 POST 请求的参数。

创建数据库和模型

在开始之前,我们需要创建一个 MongoDB 数据库和一个集合。我们可以使用 MongoDB 的 shell 命令行工具来完成这个任务:

在这里,我们创建了一个名为 mydb 的数据库,并在其中创建了一个名为 mycollection 的集合。

接下来,我们需要在 Express.js 应用程序中定义模型。我们可以在 models 目录下创建一个新的文件 mycollection.js,并定义一个名为 MyCollection 的模型:

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

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

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

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

在这里,我们定义了一个包含三个属性的模型:nameageemail。每个属性都有一个数据类型和一个必需标志。

创建路由和控制器

现在我们已经定义了模型,我们可以开始编写路由和控制器。我们可以在 routes 目录下创建一个新的文件 mycollection.js,并定义一个名为 mycollection 的路由:

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

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

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

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

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

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

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

在这里,我们定义了五个不同的路由:GET /POST /GET /:idPUT /:idDELETE /:id。每个路由都调用一个控制器函数,它们使用模型来执行相应的操作。

启动服务器

最后,我们可以在 app.js 文件中启动服务器并使用路由:

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

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

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

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

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

在这里,我们连接到 MongoDB 数据库并使用 body-parser 中间件解析 JSON 数据。然后,我们将 mycollection 路由添加到应用程序中,并在端口 3000 上启动服务器。

测试应用程序

现在,我们已经完成了应用程序的所有部分。我们可以使用 Postman 或其他工具来测试应用程序。以下是一些测试请求:

  • GET /mycollection:获取所有集合中的文档。
  • POST /mycollection:创建一个新的文档。
  • GET /mycollection/:id:获取指定 ID 的文档。
  • PUT /mycollection/:id:更新指定 ID 的文档。
  • DELETE /mycollection/:id:删除指定 ID 的文档。

结论

在本文中,我们介绍了如何使用 Express.js 和 MongoDB 实现基本的 CRUD 功能。我们创建了一个模型、路由和控制器,并启动了服务器。我们还学习了如何使用 Postman 或其他工具来测试应用程序。这些技术都是现代 Web 开发中非常重要的一部分,我们希望这篇文章能够帮助你更好地理解它们。

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

纠错
反馈