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