Schema为数据库对象的集合,每个Schema会映射到mongodb中的一个collection,定义Schema可以理解为表结构的定义。
一、Mongoose校验参数
required | 表示这个数据必须传入 |
---|---|
max | Number类型数据,最大值 |
min | Number类型数据,最小值 |
enum | 枚举类型,用在String类型,要求数据必须满足枚举值 enum:[‘0’,’1’,’2’] |
match | 增加的数据必须符合match(正则)的规则 String |
maxlength | 最大长度 String类型中使用 |
minlength | 最小长度 |
var mongoose = require('./db');
var UserSchema = new mongoose.Schema({
name:{
type: String,
required:true,
maxlength:10
},
age:{
type: Number,
max:100
},
tel:{
type: String,
match:/^1/
},
status:{
type: String,
default:'success',
enum:['success','error']
}
})
module.exports = mongoose.model('User',UserSchema,'user');
二、自定义验证器
var mongoose = require('./db');
var UserSchema = new mongoose.Schema({
name:{
type: String,
required:true,
maxlength:10
},
age:{
type: Number,
max:100
},
tel:{
type: String,
trim:true,
match:/^1/,
//自定义校验
validate(params){
return params.length==11
}
},
status:{
type: String,
default:'success',
enum:['success','error']
}
})
module.exports = mongoose.model('User',UserSchema,'user');