使用 Node.js 和 MongoDB 创建基本的 CRUD API

简介

随着新技术和新软件的不断推出,前端开发和移动设备应用市场迅速发展。在这个领域,许多应用程序都需要与后端进行交互,通过 API 获取和存储数据,使其在前端用户界面中得以展示。在此过程中,Node.js 和 MongoDB 是非常流行的技术,他们可以很好地协调工作,帮助开发人员快速创建强大的 CRUD API。

在本文中,我们将介绍如何使用 Node.js 和 MongoDB 来创建基本的 CRUD API,并提供一些示例代码供读者参考。

准备工作

在开始编写代码之前,首先需要确保我们具备以下条件:

  1. 已经安装了 Node.js 和 MongoDB。
  2. 在 MongoDB 中已创建了一个数据库,并添加了一些数据集合。

如果您对此有疑问,建议先查看 MongoDB 和 Node.js 的相关文档。

编写代码

现在,我们可以开始编写我们的代码了。这里我们将会使用 Express 框架和 Mongoose 库。

安装必要的库

首先,在您的项目文件夹中,打开终端并运行以下命令来安装 Express 和 Mongoose:

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

以上三个库分别为 Express 框架、Mongoose 动态数据管理库和 Body-parser 解析器。

连接到 MongoDB 数据库

在 app.js 中,我们需要连接到我们的 MongoDB 数据库。请确保您已经在 MongoDB 中创建了一个数据库,并添加了一个名为 "movies" 的集合。

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

以上代码将建立一个连接到本地 MongoDB 数据库的连接。如果您正在使用远程 MongoDB 数据库,请将连接 URI 替换为您的实际 URI。

定义模型和路由

现在,我们可以定义模型和路由了。在本示例中,我们使用 movies 集合作为模型,并添加了四个路由:GET、POST、PUT 和 DELETE。

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

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

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

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

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

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

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

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

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

以上代码定义了一个 movieSchema 模型,它包含三个必填字段:title、year 和 genre。然后定义了四个路由,分别是 GET、POST、PUT 和 DELETE。每个路由将执行我们定义好的操作。

在 GET 路由中,我们查询 movies 集合的所有文档。在 POST 路由中,我们将使用请求主体向数据库中添加一个新的电影文档。在 PUT 路由中,我们将使用给定 ID 更新现有的文档。在 DELETE 路由中,我们将使用给定 ID 从数据库中删除文档。

测试 CRUD API

现在,我们已经完成了 CRUD API 的编写。我们可以使用 Postman 等工具来测试它是否正常工作。以下是一个测试用例:

GET /movies

请求:

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

响应:

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

POST /movies

请求:

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

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

响应:

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

PUT /movies/:id

请求:

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

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

响应:

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

DELETE /movies/:id

请求:

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

响应:

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

结论

在本文中,我们已经学习了如何使用 Node.js 和 MongoDB 来创建基本的 CRUD API。我们使用了 Express 框架和 Mongoose 库,通过几行代码创建了 GET、POST、PUT 和 DELETE 路由,使我们能够在前端用户界面中获取和存储数据。我们还提供了一些具有深度和指导意义的代码示例,希望对您的学习有所帮助。

如果您希望深入学习 Node.js 或 MongoDB,请查看官方文档或参考其他资源。同时,我们也鼓励读者自己去实践、实验和创新,发现更多有用的技术和方法。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673912ab317fbffedf14fe08