在使用 Mongoose 时,我们经常需要对表字段设置默认值,来保证表的数据合法性和完整性。这篇文章将着重介绍 Mongoose 中如何设置表字段的默认值以及应用场景。
设置默认值
在 Mongoose 中设置表字段的默认值有以下两种方式:
1. Schema 配置默认值
在定义 Schema 时,可以为字段设置默认值:
const userSchema = new mongoose.Schema({ name: { type: String }, gender: { type: String, default: "unknown" } });
上面的代码中,gender 字段默认值为 "unknown"。
2. pre- 钩子设置默认值
通过 pre- 钩子,在插入文档到数据库之前,将指定字段的默认值进行处理:
userSchema.pre("save", function(next) { if (!this.gender) { this.gender = "unknown"; } next(); });
应用场景
设置表字段的默认值主要是为了满足下面两种应用场景:
1. 数据验证
在进行数据验证时,需要对字段进行非空判断。一般情况下,我们通过设置默认值,来避免插入空值到数据库中。
比如上面的例子中,当插入一条只有 name 字段的文档时,gender 将会自动设置为 "unknown",保证文档数据的完整性。
2. 数据格式化
有些字段需要进行格式化处理,比如日期时间格式的字段,可以通过默认值进行格式化。
const userSchema = new mongoose.Schema({ name: { type: String }, joinDate: { type: Date, default: Date.now } });
将默认值设为 Date.now,就可以自动设置加入日期时间,避免手动设置出现误差。
总结
了解了 Mongoose 中设置字段默认值的方法以及应用场景,我们可以在实际项目中更好地应用相关技术,提高开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/659557feeb4cecbf2d985f0f