每个 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()` 方法:
```javascript
var 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()
才能查询)