如何在 Express.js 中使用 Mongoose 操作 MongoDB 数据库

简介

MongoDB 是一种非关系型的文档数据库,而 Mongoose 是一种 Node.js 中广泛使用的对象模型库,它允许我们在 MongoDB 数据库上执行数据操作。 在本文中,我们将讨论如何在 Express.js 中使用 Mongoose 操作 MongoDB 数据库,涵盖了 Mongoose 的基本概念和一些实际的操作,以帮助初学者快速学习和掌握。

安装和引用 Mongoose

在开始之前,我们需要先安装 Mongoose。可以使用 npm 包管理器运行以下命令:

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

在安装完成后,我们需要在 Express.js 中引用 Mongoose。下面是在 Express.js 中引用 Mongoose 的代码示例:

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

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

请务必将 <database-name> 替换为 MongoDB 数据库的名称,这样将 MongoDB 数据库连接到我们的应用程序。

注意,mongoose.Promise = global.Promise 是确保 Mongoose 使用全局 Promise 而不是默认的 mongoose promise,因为这使得处理异步事件更容易。

创建 Mongoose 模型

在完成 Mongoose 的安装和引用之后,我们可以使用 Mongoose 模型来处理 CRUD 操作。在 Mongoose 中,我们将实例化一个 Mongoose 模式,并使用 Mongoose 模式定义一个 Mongoose 模型。

下面是创建 Mongoose 模型的示例代码:

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

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

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

在此示例代码中,我们首先引用了 mongoose,然后定义了一个 User 模式。模式中的每个字段都需要指定其类型。最后,我们将 User 模式导出为 Mongoose 模型。

Mongoose 操作

在创建 Mongoose 模型之后,我们需要通过定义一些路由器来实现对 MongoDB 数据库的 CRUD 操作。下面是一些常见的 Mongoose 操作:

创建

我们可以使用以下代码示例创建一个新对象:

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

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

在此代码示例中,我们首先创建一个新的 User 对象,然后调用 save() 函数将其保存到数据库中。如果成功,则返回保存的对象,否则返回错误。

读取

我们可以使用以下代码示例从数据库中读取对象:

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

在此代码示例中,我们使用 find() 函数查找符合条件的对象。在这种情况下,我们将获取数据库中的所有对象。

更新

我们可以使用以下代码示例更新数据库中的对象:

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

在此代码示例中,我们首先查找要更新的对象,然后使用 findOneAndUpdate() 函数将其更新为我们指定的新值。我们还使用 new: true 参数告诉 Mongoose 返回更新后的对象。

删除

最后,我们可以使用以下代码示例从数据库中删除对象:

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

在此代码示例中,我们使用 findOneAndRemove() 函数删除与给定 ID 匹配的对象。如果删除成功,则返回已删除的对象,否则返回错误信息。

结论

在本文中,我们探讨了如何在 Express.js 中使用 Mongoose 操作 MongoDB 数据库,包括安装和引用 Mongoose、创建 Mongoose 模型和进行 CRUD 操作。希望本文能对初学者对 Mongoose 和 MongoDB 数据库有一个更全面的了解并提供参考。

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