Mongoose 中的表字段默认值设置和应用场景

在使用 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


纠错反馈