Mongoose
node 中提供操作 MongoDB 的模块,能够通过 node 语法实现 MongoDB 数据库的增删改查,从而实现用 node 写程序来管理 MongoDB 数据库
一、Schema
在Mongoose中,Schema(模式)用于定义文档的结构。Schema定义了集合中每个文档的属性及其类型、默认值、验证规则等。Schema不仅提供了一种对MongoDB集合结构的强类型定义,还能扩展功能,比如添加方法、静态函数、中间件等。下面是对Mongoose Schema定义及其用法的详细说明:
定义 Schema
定义一个Schema通常通过创建一个新的 mongoose.Schema 对象,传入一个对象,该对象定义了文档的结构。
基本示例
1 | const mongoose = require('mongoose'); |
Schema 类型
Mongoose支持多种Schema类型,常见的有:
StringNumberDateBufferBooleanMixed(任意类型)ObjectId(MongoDB ObjectId)Array
Schema 配置选项
Schema的每个字段可以有多个配置选项,例如:
type:字段的类型required:是否必须字段default:默认值unique:是否唯一字段enum:枚举值min、max:数值的最小值和最大值(适用于Number类型)match:正则表达式验证(适用于String类型)
示例
1 | const productSchema = new Schema({ |
model
一个模型对应一个集合
通过模型来管理集合中的数据

