mongoose 默认校验参数
required: 表示此数据必传
max: 最大值
min: 最小值
enum: 枚举类型,要求数据必须满足枚举值
match: 数据必须符合match(正则)的规则
maxlength: 最大长度
minlength: 最小长度
例子: 在schema中使用校验
const mongoose = require('./db');
const UserSchema = mongoose.Schema({
name: {
type: String,
required: true
},
age: {
type: Number,
min: 10,
max: 100
},
status: {
type: String,
default: '1',
enum: ['1', '2', '3'] // 枚举要用在string中
},
sn: {
type: String,
index: true,
// minlength: 4,
// maxlength: 6,
// match:sn的数据前加sn
match: /^sn(.*)/
}
})
module.exports = mongoose.model('User', UserSchema, 'users')
mongoose 自定义验证器
在schema 中添加validate,例子如下:
const mongoose = require('./db');
const UserSchema = mongoose.Schema({
sn: {
type: String,
index: true,
validate: function(data) {
return data.length >= 6
}
}
})
module.exports = mongoose.model('User', UserSchema, 'users')