如何使用 MongoDB 和 Node.js 创建 RESTful API

RESTful API 是现代 Web 应用程序的核心,它们是构建复杂应用的基础。MongoDB 是一种可扩展的、面向文档的数据库,它具有灵活性和易用性。在本文中,我们将讨论如何使用 Node.js 和 MongoDB 创建 RESTful API。

准备工作

要创建 RESTful API,我们需要 Node.js 和 MongoDB 环境。首先,确保你已经安装了 Node.js 和 npm,并且拥有一个 MongoDB 数据库。接下来,创建项目文件夹并初始化 npm:

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

然后安装以下依赖项:

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

其中,express 是一个流行的 Node.js 框架,用于处理 HTTP 请求和响应。mongoose 是一个与 MongoDB 交互的对象模型工具。body-parser 是一个用于解析请求正文的中间件。

定义模型和路由

我们将为 Mongo 中存储的数据定义 Schema。这是一个示例 “user” 的 schema:

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

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

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

在我们的应用程序中, 使用的是表单提交数据时,我们通常需要 bodyParser 中间件来解析请求正文,但 express 已经集成了它。接下来是路由的主要部分,在此示例中我们定义了一个 user 路由:

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

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

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

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

通过导入我们的 User 模型,并将其传递给 post 请求来创建新用户。

对于更复杂的 API,你可能需要使用多个路由文件和 controllers 来处理请求和响应。

连接到 MongoDB

为了连接到数据库,我们使用 mongoose.connect() 函数。在配置脚本中,从环境变量中获取 mongo URI(或硬编码)以供使用。这是一段示例代码:

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

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

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

可以像上面那样将 uri 硬编码 ,也可以使用 process.env,将它保存到 .env 文件中,并使用 dotenv 模块进行解析。

集成路由到应用程序

最后,我们需要将路由集成到我们的应用程序中,打开 app.js 文件并添加以下代码:

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

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

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

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

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

在这里,我们使用了 Express 的应用程序实例,并附加了路由和 body-parser 中间件。

结论

总之,在 Node.js

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