每个 schema都会映射到一个 MongoDB collection 并定义这个collection里的文档结构 ;
支持的字段类型有:
| 类型 | 作用 |
|---|---|
| String | 定义字符串 |
| Number | 定义数字 |
| Date | 定义日期 |
| Buffer | 定义nodejs二进制类型,多用于图像、PDF、档案等 |
| Boolean | 定义布尔值 |
| Mixed | 定义任何类型 |
| ObjectId | 定义对象ID |
| Array | 定义数组 |
- 创建一个 schema 对象 ```javascript const mongoose = require(‘mongoose’) //调用 Schema const Scheme = mongoose.Schema
//创建 schema 对象 var stuSchema = new Schema({ name: String, age: Number, gender:{ type: String, default:’male’ //定义默认类型 }, addr: String })
- 在`Schema`确定以后添加字段时需要使用 `add()` 方法:```javascriptvar schema = new Schema()schema.add({stuId:Number,})
- 【timestamps】
——当 schema中设置timestamps为 true时,schema映射的文档 document会自动添加 createdAt和 updatedAt这两个字段,代表创建时间和更新时间:
var stuSchema = new Schema({{...},{ timestamps:true }})
- 【_id】
——当未定义_id字段时 mongoose 会为每一个文档自动添加一个不重复的_id,类型为ObiectId(在查询语句中需要通过 findById() 才能查询)
