一、mongoose预定义修饰符
mongoose提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化
var mongoose = require('mongoose')var NewsSchema = mongoose.Schema({title: {type: String,trim: true // 定义mongoose模式修饰符,去掉左右空格},author: String,pic: String,content: String,status: {type: Number,default: 1}})module.exports = mongoose.model('News', NewsSchema, 'news')
二、Getters与Setters自定义修饰符
除了mongoose内置的修饰符以外,我们还可以通过set(建议使用)修饰符在增加数据的时候对数据进行格式化。也可以通过get(不建议使用)在实例获取数据的时候对数据进行格式化。
/* set修饰符 */var mongoose = require('mongoose')var FocusSchema = mongoose.Schema({title: {type: String,trim: true},pic: String,redirect: {type: String,set(params) { // 增加数据的时候对redirect字段进行处理// params可以获取到redirect的值,返回的数据就是redirect在数据库保存的值if (!params) return ''if (params.indexOf('http://') != 0 && params.indexOf('https://') != 0) {return 'http://' + params}return params}},status: {type: Number,default: 1}})module.exports = mongoose.model('Focus', FocusSchema, 'focus')
