MongoDB 和 Mongoose 基础入门教程

阅读时长 6 分钟读完

简介

MongoDB 是一款基于分布式文件存储的 NoSQL 数据库,它的数据模型是面向文档的,可以存储 JSON 格式的数据。Mongoose 是 Node.js 的一个对象文档模型(ODM)库,它为 MongoDB 数据库提供了更高层次的抽象,使得开发者可以更方便地操作 MongoDB 数据库。

在本篇文章中,我们将会深入地了解 MongoDB 和 Mongoose 的基础知识,包括 MongoDB 的安装、基本操作、数据类型等内容,以及 Mongoose 的使用、模型定义、查询、中间件等内容。通过本文的学习,读者将会掌握 MongoDB 和 Mongoose 的基础知识,并能够使用它们来进行开发。

MongoDB 的基础知识

安装 MongoDB

在开始使用 MongoDB 之前,我们需要先安装 MongoDB。可以在 MongoDB 的官网(https://www.mongodb.com/)上下载相应的安装包,根据操作系统的不同选择不同的版本进行安装。在安装完成后,我们可以通过命令行工具来启动 MongoDB 服务。

连接 MongoDB

在启动 MongoDB 服务后,我们可以通过命令行工具连接到 MongoDB 数据库。在命令行工具中输入 mongo 命令即可连接到默认的 MongoDB 数据库。如果需要连接到其他的 MongoDB 数据库,可以使用 mongo <host>:<port>/<database> 命令来连接。

基本操作

在连接到 MongoDB 数据库后,我们可以进行一些基本的操作,包括插入数据、查询数据、更新数据和删除数据等。下面是一些常用的 MongoDB 命令:

  • db.<collection>.insert(<document>):向指定的集合中插入一条文档数据。
  • db.<collection>.find(<query>):查询指定集合中符合条件的文档数据。
  • db.<collection>.update(<query>, <update>):更新指定集合中符合条件的文档数据。
  • db.<collection>.remove(<query>):删除指定集合中符合条件的文档数据。

数据类型

MongoDB 支持多种数据类型,包括基本数据类型、数组、嵌套文档等。下面是一些常用的数据类型:

  • String:字符串类型。
  • Number:数字类型,包括整数和浮点数。
  • Boolean:布尔类型。
  • Date:日期类型。
  • Object ID:对象 ID 类型,用于唯一标识文档。
  • Array:数组类型。
  • Embedded Document:嵌套文档类型。

Mongoose 的基础知识

安装 Mongoose

在开始使用 Mongoose 之前,我们需要先安装 Mongoose。可以通过 npm 命令来安装 Mongoose,命令如下所示:

使用 Mongoose

在安装完成 Mongoose 后,我们可以开始使用 Mongoose。首先需要连接到 MongoDB 数据库,可以使用 mongoose.connect(<url>) 命令来连接。连接成功后,我们可以定义模型并进行查询等操作。

模型定义

在 Mongoose 中,我们可以使用 Schema 来定义数据模型。Schema 定义了文档的结构和属性,包括数据类型、默认值、验证规则等。下面是一个简单的 Schema 定义示例:

查询数据

在 Mongoose 中,我们可以使用 Model 来进行查询操作。Model 是由 Schema 编译而成的构造函数,可以用来进行文档的 CRUD 操作。下面是一些常用的查询操作:

  • Model.find(<query>):查询符合条件的文档数据。
  • Model.findOne(<query>):查询符合条件的单个文档数据。
  • Model.findById(<id>):根据 ID 查询单个文档数据。
  • Model.count(<query>):查询符合条件的文档数据数量。

中间件

在 Mongoose 中,我们可以使用中间件来增强模型的功能。中间件可以在执行某些操作前或后执行一些逻辑,例如验证数据、修改数据等。下面是一些常用的中间件:

  • pre('save', callback):在保存文档之前执行 callback。
  • pre('remove', callback):在删除文档之前执行 callback。
  • post('find', callback):在查询文档之后执行 callback。
  • post('save', callback):在保存文档之后执行 callback。

示例代码

下面是一个使用 Mongoose 进行增删改查操作的示例代码:

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

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

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

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

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

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

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

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

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

总结

本文介绍了 MongoDB 和 Mongoose 的基础知识,包括 MongoDB 的安装、基本操作、数据类型等内容,以及 Mongoose 的使用、模型定义、查询、中间件等内容。通过本文的学习,读者可以掌握 MongoDB 和 Mongoose 的基础知识,并能够使用它们来进行开发。

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

纠错
反馈