Mongoose 中如何使用 Schema 的 default 属性设置默认值

· 约 4 分钟读完

Mongoose 中如何使用 Schema 的 default 属性设置默认值

当我们使用 Mongoose 进行 MongoDB 数据库操作时,使用 Schema 可以让我们在设计数据的结构时更加灵活,但是在每次插入数据时,如果不想手动指定某些属性的值,而且又不想让它为空或者报错,那么就需要用到 Schema 中的 default 属性,帮我们自动设置数据的默认值。

在 Mongoose 中,default 属性可以设置在 Schema 中的任何字段上,包括 String、Number、Boolean、Date、Buffer、Mixed、ObjectId 和 Array 等,接下来我们分别介绍一下这些类型的默认值设置方法。

1、String 类型的默认值设置方法

对 String 类型的字段设置默认值是最简单的,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 name 字段的值,那么默认值为 'John'。

2、Number 类型的默认值设置方法

对 Number 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 age 字段的值,那么默认值为 18。

3、Boolean 类型的默认值设置方法

对 Boolean 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 isVip 字段的值,那么默认值为 false。

4、Date 类型的默认值设置方法

对 Date 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 createAt 字段的值,那么默认值为当前时间。

5、Buffer 类型的默认值设置方法

对 Buffer 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 content 字段的值,那么默认值为 'my default text'。

6、Mixed 类型的默认值设置方法

对 Mixed 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 info 字段的值,那么默认值为一个空对象。

7、ObjectId 类型的默认值设置方法

对 ObjectId 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 authorId 字段的值,那么默认值为一个新生成的 ObjectId 对象。

8、Array 类型的默认值设置方法

对 Array 类型的字段设置默认值也比较简单,只需要在 Schema 的属性中添加一个 default 属性即可:

当我们在插入一条数据时,如果没有设置 tags 字段的值,那么默认值为数组 ['tag1', 'tag2']。

通过上述对各种类型字段的默认值设置方法的介绍,相信大家已经掌握了 Mongoose 中使用 Schema 的 default 属性设置默认值的方法。在实际使用中,我们可以根据具体应用场景来选择合适的默认值,以减少手动的重复输入,提高效率。

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