Mongoose 中如何设置默认值:Schema 的 default 选项详解

Mongoose 中如何设置默认值:Schema 的 default 选项详解

在 MongoDB 中进行数据的存储和管理时,Mongoose 是一种非常常用的 Node.js 框架。Mongoose 可以有效地简化开发者的数据库操作,包括增、删、改、查等操作。在 Mongoose 中,Schema 是非常重要的概念,它定义了数据的结构和类型,并且还可以设置默认值。本文将详细介绍 Mongoose 中如何设置默认值:Schema 的 default 选项。

基本概念

在 Mongoose 的 Schema 中,default 属性可以设置属性的默认值。当创建新的文档时,如果属性的值没有被设置,那么它将会使用默认值。Mongoose 提供了许多不同类型的默认值选项,包括原始类型、数组类型、日期类型等等。

默认的原始类型

对于默认的原始类型,Mongoose 提供了许多默认值选项,例如:

在上述示例中,如果一个新的用户文档没有设置 name 属性,则它的默认值将是 'unknown'。同样,如果新的文档没有设置 age 属性,则它的默认值将是 18。只有当 gender 属性的值为 'male'、'female' 或 'unknown' 时,才会将其作为有效值;如果没有设置 gender 属性,则它的默认值将是 'unknown'。

默认的数组类型

默认值也适用于数组类型。假设我们有一个 Schema 定义了一个用户对象,其中用户有一个朋友列表,那么我们可以通过以下方式定义:

在上述示例中,如果一个新的用户文档没有设置 friends 属性,则它的默认值将是空的数组 []。

默认的日期类型

对于日期类型,Mongoose 也提供了默认值选项。以下是一个示例:

在上述示例中,如果一个新的订单文档没有设置 orderDate 属性,则它的默认值将是当前日期。

同时设置多种类型的默认值

在一个 Schema 中,你也可以同时设置多种类型的默认值。以下是示例:

在上述示例中,如果一个新的日志条目文档没有设置 title、body、date 或 tags 属性,则分别使用 'untitled'、''、当前日期和空数组作为其默认值。

结论

在 Mongoose 中,使用 Schema 中的 default 属性可以设置默认值。在不同类型的属性上设置默认值可以有效地提高开发者的工作效率。通过本文的学习,相信您已经初步掌握了如何设置默认值的技能,并可以根据需求灵活地运用。

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


纠错反馈