8. mongoose 修饰符
1. 预定义模式修饰符
预定义模式修饰符,可以对我们增加的数据进行一些格式化。
const UserSchema = mongoose.Schema({
name: {
type: String,
trim: true // 去掉两端空格
},
age: Number,
status: {
type: Number,
default: 1
}
});
内置的预定义模式修饰符有:
- lowercase: 转为小写
- uppercase: 转为大写
- trim: 去掉两端空格
2. Setters 修饰符
setters修饰符可以在增加数据的时候对数据进行格式化,Getters可以在获取的时候格式化。推荐使用Setters。
// 保证存到数据库的url是带有http协议的
const 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;
}
},
content: String,
status: { type: Number, default: 1 }
});
// 获取时添加http协议
const NewsSchema = mongoose.Schema({
title: 'string',
author: String,
pic: String,
redirect: {
type: String,
get(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 }
});
可以同时使用Getters和Setters