Mongoose 中使用 Schema Types

Mongoose 是一个 Node.js 的 ORM 框架,它为 MongoDB 提供了更加友好的操作方式。在 Mongoose 中,Schema Types 是一个非常核心的概念。Schema Types 是指在 Schema 中定义的数据类型,它们可以用来限制数据的类型、格式以及提供默认值等功能。本文将介绍 Mongoose 中常用的 Schema Types,并通过示例代码演示它们的使用。

常用的 Schema Types

在 Mongoose 中,常用的 Schema Types 包括以下几种:

  • String:字符串类型,用于存储文本数据。
  • Number:数字类型,用于存储数值数据。
  • Date:日期类型,用于存储日期和时间数据。
  • Boolean:布尔类型,用于存储 true 或 false 值。
  • ObjectId:对象 ID 类型,用于存储 MongoDB 中的文档 ID。
  • Mixed:混合类型,可以存储任意类型的数据。
  • Array:数组类型,用于存储一组数据。

下面我们将逐个介绍这些类型的使用方法。

String 类型

String 类型用于存储文本数据。在 Schema 中定义 String 类型时,可以指定以下选项:

  • required:表示该字段是否必填,默认为 false。
  • default:表示该字段的默认值。
  • enum:表示该字段的可选值,必须是一个数组。

示例代码:

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

Number 类型

Number 类型用于存储数值数据。在 Schema 中定义 Number 类型时,可以指定以下选项:

  • required:表示该字段是否必填,默认为 false。
  • default:表示该字段的默认值。
  • min:表示该字段的最小值。
  • max:表示该字段的最大值。

示例代码:

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

Date 类型

Date 类型用于存储日期和时间数据。在 Schema 中定义 Date 类型时,可以指定以下选项:

  • required:表示该字段是否必填,默认为 false。
  • default:表示该字段的默认值。

示例代码:

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

Boolean 类型

Boolean 类型用于存储 true 或 false 值。在 Schema 中定义 Boolean 类型时,可以指定以下选项:

  • required:表示该字段是否必填,默认为 false。
  • default:表示该字段的默认值。

示例代码:

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

ObjectId 类型

ObjectId 类型用于存储 MongoDB 中的文档 ID。在 Schema 中定义 ObjectId 类型时,可以指定以下选项:

  • required:表示该字段是否必填,默认为 false。
  • ref:表示该字段关联的集合名称。

示例代码:

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

Mixed 类型

Mixed 类型可以存储任意类型的数据。在 Schema 中定义 Mixed 类型时,不需要指定任何选项。

示例代码:

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

Array 类型

Array 类型用于存储一组数据。在 Schema 中定义 Array 类型时,可以指定以下选项:

  • required:表示该字段是否必填,默认为 false。
  • default:表示该字段的默认值。
  • validate:表示该字段的验证函数,必须是一个函数。

示例代码:

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

总结

在 Mongoose 中,Schema Types 是一个非常重要的概念。通过使用不同的 Schema Types,我们可以限制数据的类型、格式以及提供默认值等功能。本文介绍了 Mongoose 中常用的 Schema Types,并通过示例代码演示它们的使用。希望本文能够对读者有所启发,提高大家的 Mongoose 使用水平。

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