如何使用 Node.js 和 Mongoose 操作 MongoDB 数据库

阅读时长 6 分钟读完

简介

MongoDB 是一种基于文档的数据库,它使用 JSON 格式存储数据,而不是传统的表格形式。Node.js 是一种 JavaScript 运行环境,它可以在服务器端运行 JavaScript 代码。Mongoose 是一个 Node.js 的 MongoDB 驱动程序,它提供了一种简单而优雅的方式来处理 MongoDB 数据库。

本文将介绍如何使用 Node.js 和 Mongoose 操作 MongoDB 数据库,包括连接数据库、创建集合、插入、查询、更新和删除文档等操作。

安装

要使用 Node.js 和 Mongoose 操作 MongoDB 数据库,我们需要先安装它们。首先安装 Node.js,可以从官网 https://nodejs.org/ 下载对应系统的安装包进行安装。安装完成后,打开终端(Windows 用户打开命令提示符或 PowerShell),输入以下命令安装 Mongoose:

连接数据库

在使用 Mongoose 操作 MongoDB 数据库之前,我们需要先连接到数据库。可以使用以下代码连接到本地 MongoDB 数据库:

上面的代码使用了 Mongoose 的 connect 方法连接到本地 MongoDB 数据库,其中 test 是数据库的名称。如果连接成功,将打印出 Connected to MongoDB,否则将打印出错误信息。

创建集合

在 MongoDB 中,集合(Collection)是一组文档(Document)的容器。可以使用 Mongoose 的 SchemaModel 来定义和操作集合。

以下是一个简单的例子,定义了一个 User 集合:

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

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

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

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

上面的代码定义了一个 User 集合,其中包含 nameemailage 三个字段。mongoose.Schema 方法用于定义数据结构,mongoose.model 方法用于创建集合模型。

插入文档

要向集合中插入文档(Document),可以使用集合模型的 create 方法。以下是一个简单的例子,向 User 集合中插入一条文档:

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

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

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

上面的代码创建了一个 User 对象,然后调用 save 方法将其保存到数据库中。

查询文档

要查询集合中的文档,可以使用集合模型的 find 方法。以下是一个简单的例子,查询 User 集合中所有的文档:

上面的代码使用 User.find() 方法查询 User 集合中所有的文档。查询结果将以数组的形式返回,每个元素都是一个文档对象。

如果要查询特定条件的文档,可以在 find 方法中传入查询条件。以下是一个例子,查询 User 集合中年龄大于等于 18 岁的文档:

上面的代码使用查询条件 { age: { $gte: 18 } } 查询 User 集合中年龄大于等于 18 岁的文档。

更新文档

要更新集合中的文档,可以使用集合模型的 updateOneupdateMany 方法。以下是一个简单的例子,更新 User 集合中 Alice 的年龄为 26 岁:

上面的代码使用 User.updateOne() 方法更新 User 集合中 Alice 的年龄为 26 岁。如果更新成功,将返回 { n: 1, nModified: 1, ok: 1 },其中 n 表示匹配的文档数量,nModified 表示更新的文档数量,ok 表示操作是否成功。

删除文档

要删除集合中的文档,可以使用集合模型的 deleteOnedeleteMany 方法。以下是一个简单的例子,删除 User 集合中年龄小于 18 岁的文档:

上面的代码使用 User.deleteMany() 方法删除 User 集合中年龄小于 18 岁的文档。如果删除成功,将返回 { n: 2, ok: 1 },其中 n 表示删除的文档数量,ok 表示操作是否成功。

结论

本文介绍了如何使用 Node.js 和 Mongoose 操作 MongoDB 数据库,包括连接数据库、创建集合、插入、查询、更新和删除文档等操作。以上只是一些简单的例子,Mongoose 还提供了很多高级的操作,如聚合、索引、中间件等。如果想深入学习,可以参考官方文档 https://mongoosejs.com/docs/

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

纠错
反馈