## **1、mongoose 预定义模式修饰符**
lowercase、uppercase 、trim mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化。
```
var UserSchema=mongoose.Schema({
name:{ type:String, trim:true },
age:Number,
status:{ type:Number, default:1 }
})
```
## **2、Mongoose Getters 与 Setters 自定义修饰符**
除了 mongoose 内置的修饰符以外,我们还可以通过 **set**(建议使用) 修饰符在增加数据的 时候对数据进行格式化。也可以通过 **get**(不建议使用)在实例获取数据的时候对数据进行格式化。
```
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;
}
},
content:String,
status:{
type:Number,
default:1
}
})
```
```
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
}
})
```
- 前言
- 一、MongoDb 数据库介绍、安装、使用
- 二、MongoDB 数据库创建删除、表(集合) 创建删除、数据增删改查
- 三、MongoDB 索引 和 explain 的使用
- 四、Nodejs 操作 MongoDb 数据库
- 五、关系型数据库表(集合)与表(集合)之 间的几种关系
- 六、MongoDB 的高级查询 aggregate 聚合管道
- 七、mongoose 入门以及 mongoose 实现数据 的增、删、改、查
- 八、Mongoose 预定义模式修饰符 Getters 与 Setters 自定义修饰符
- 九、Mongoose 索引、Mongoose 内置 CURD 方 法、扩展 Mongoose Model 的静态方法和 实例方法
- 十、Mongoose 数据校验
- 十一、Mongoose 中使用 aggregate 聚合管道
- 十二、Mongoose 中使用 populate 实现关联查询
- 十三、MongoDb 数据库的导出导入