一、mongoose预定义修饰符
lowercase,uppercase,trim
mongoose预定义模式修饰符,可以对我们增加的数据进行一些格式化
var UserSchema = new mongoose.Schema({
name:{
type: String,
//会对增加的字段,左右去空格
trim:true
},
age:Number,
status:{
type: Number,
default:1
}
})
二、Getters与Setters自定义修饰符
通过set(建议使用)修饰符在增加数据的时候对数据进行格式化。也可以通过get(不建议使用)在实例获取数据的时候对数据进行格式化。
const mongoose = require('./db');
const FocusSchema = new mongoose.Schema({
title:{
type: String,
trim:true
},
pic:String,
redirect:{
type: String,
set(params){
//增加数据的时候对redirect字段进行处理
if(!params.startsWith('http://')){
return 'http://'+params
}
}
}
})
module.exports = mongoose.model("Focus",FocusSchema,"focus")
set方法对redirect的值进行判断,如果不包含 http://
,则加上 http://
const FocusModel = require('./model/focus');
var focus = new FocusModel({
title:"美女人",
pic:"www.baidu.com",
redirect:"www.xxx.com"
})
focus.save()
将此数据在数据库保存为
{ "_id":"5cdd0ed1a08cfc3844035bcf",
"status":1,
"title":"美女人",
"pic":"www.baidu.com",
"redirect":"http://www.xxx.com"
}