Mongoose 预定义模式修饰符
-
lowercase、uppercase 、trim
-
mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化
-
在定义Schema时进行处理
var UserSchema=mongoose.Schema({ name:{ type:String, trim:true }, age:Number, status:{ type:Number, default: 1 } })
Mongoose Getters与Setters 自定义修饰符
- 除了 mongoose 内置的修饰符以外,我们还可以通过 set(建议使用) 修饰符在增加数据的时候对数据进行格式化
- 也可以通过 get(不建议使用)在实例获取数据的时候对数据进行
- 示例:对url进行处理url的自定义修饰符 set操作, 主要看redirect这个属性的自定义修饰符
var NewsSchema=mongoose.Schema({ title:"string", author:String, pic:String, // 这里是一个跳转地址url, 如果用户输入www.baidu.com(没有http/https协议的) 保存成 http://www.baidu.com redirect:{ type:String, set(url) { if(!url) return url; if(url.indexOf('http://')!=0 && url.indexOf('https://')!=0){ url = 'http://' + url; } return url; } }, content:String, status:{ type:Number, default:1 } })
- 示例:对url进行处理url的自定义修饰符 set、get操作, 主要看redirect这个属性的自定义修饰符
var NewsSchema=mongoose.Schema({ title:"string", author:String, pic:String, redirect:{ type:String, set(url){ if(!url) return url; if(url.indexOf('http://')!=0 && url.indexOf('https://')!=0){ url = 'http://' + url; } return url; }, get: function(url){ if(!url) return url; if(url.indexOf('http://')!=0 && url.indexOf('https://')!=0){ url = 'http://' + url; } return url; } }, content:String, status:{ type:Number, default:1 } })