一、Mongoose 校验参数
1、用于所有数据类型
required : 表示这个数据必须传入
2、用于Number数据类型
max: 最大值
min: 最小值
3、用于String数据类型
enum:枚举类型,要求数据必须满足枚举值 enum: [‘0’, ‘1’, ‘2’]
match:增加的数据必须符合
match(正则)的规则
maxlength:最大长度
minlength:最小长度
const UserSchema = new mongoose.Schema({
name:{
type:String,
required: true, // 是否必填的校验器 required: true,
},
age: {
type: Number,
max: 120, // 数字类型的最大值校验器 max: 120,
min: 0 // 数字类型的最小值校验器 min: 0
},
status: {
type: String,
enum: ['0', '1', '2'] // 设置字符串的可选值 enum: ['0', '1', '2']
},
phone:{
type:Number,
match: /^\d{11}$/
},
desc: {
type: String,
maxlength:20,
minlength:10
}
});
二、Mongoose 自定义的验证器
const UserSchema = new mongoose.Schema({
desc: {
type: String,
validate: function(desc) {
return desc.length >= 10; // 自定义的验证器,如果通过验证返回 true,没有通过则返回 false
}
}
});