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