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');
