[TOC]
### mongoose 模式
mongoose 的所有合法 SchemaTypes:
* [String](http://mongoosejs.net/docs/api.html#schema-string-js)
* [Number](http://mongoosejs.net/docs/api.html#schema-number-js)
* [Date](http://mongoosejs.net/docs/api.html#schema-date-js)
* [Buffer](http://mongoosejs.net/docs/api.html#schema-buffer-js)
* Boolean
* Mixed
* [ObjectId](http://mongoosejs.net/docs/api.html#schema-objectid-js)
* Array
* Decimal128
*****
#### String
* `lowercase`: 布尔值 是否在保存前对此值调用`.toLowerCase()`
* `uppercase`: 布尔值 是否在保存前对此值调用`.toUpperCase()`
* `trim`: 布尔值 是否在保存前对此值调用`.trim()`
* `match`: 正则表达式 创建[验证器](http://mongoosejs.net/docs/validation.html)检查这个值是否匹配给定正则表达式
* `enum`: 数组 创建[验证器](http://mongoosejs.net/docs/validation.html)检查这个值是否包含于给定数组
*****
##### Number
* `min`: 数值 创建[验证器](http://mongoosejs.net/docs/validation.html)检查属性是否大于或等于该值
* `max`: 数值 创建[验证器](http://mongoosejs.net/docs/validation.html)检查属性是否小于或等于该值
*****
##### Date
* `min`: Date
* `max`: Date
*****
##### 索引相关
你可以使用 schema type 选项定义[MongoDB indexes](https://docs.mongodb.com/manual/indexes/)。
* `index`: 布尔值 是否对这个属性创建[索引](https://docs.mongodb.com/manual/indexes/)
* `unique`: 布尔值 是否对这个属性创建[唯一索引](https://docs.mongodb.com/manual/core/index-unique/)
* `sparse`: 布尔值 是否对这个属性创建[稀疏索引](https://docs.mongodb.com/manual/core/index-sparse/)
```
var schema2 = new Schema({
test: {
type: String,
index: true,
unique: true // Unique index. If you specify `unique: true`
// specifying `index: true` is optional if you do `unique: true`
}
});
```
- 序言
- ES6模块化
- node基础
- FS模块
- 常用变量
- crypto加密
- 基础
- 安装
- 中间件
- 架构
- 结构分层
- 配置
- 路由
- 安装路由
- 自动加载
- 获取参数
- 路由前缀
- 路由中间件
- 控制器
- 请求
- 请求信息
- 数据库
- mongoDB
- mongoDB原生语句
- mongoDB数据库角色
- mongoose连接数据库
- 自动记录时间戳
- 模型
- mongoose模型
- 定义
- 模型初始化
- 查询
- 新增
- 更新
- 删除
- 隐藏字段
- 模式
- 关联查询
- 复杂模型
- 仿知乎个人资料建模
- 关注与粉丝
- 视图
- 模板
- edge
- 日志
- 错误和调试
- 调试当前文件
- nodemon调试
- 异常处理
- Koa2错误处理
- 验证
- Koa验证器
- async-validator
- installation
- 安全
- 数据加密
- 杂项
- jwt
- koa-jwt
- env环境变量配置
- 上传
- 分页和模糊搜索
- 扩展
- nodemon
- bodyparser
- koaJsonError
- cross-env
- uuid生成唯一ID
- pope字符串模板引擎
- 命令行
- 部署
- 附录
- RESTfulApi
- Http动词
- 状态码
- 调用频率限制
- 按需查询字段
- restful分页