预定义模式修饰符、Getters与Setters自定义修饰符
2020-08-10 本文已影响0人
海布里的冬季
一、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')