//cat.entity.ts
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';
export type CatDocument = Cat & Document;
@Schema()
export class Cat {
@Prop()
name: string;
@Prop()
age: number;
@Prop()
breed: string;
}
export const CatSchema = SchemaFactory.createForClass(Cat);
-
Prop
:这是一个装饰器,用于在模式类中定义文档的各个属性。你可以使用它来指定字段的数据类型、是否必填、默认值等属性。 -
Schema
:这是一个类装饰器,用于定义Mongoose模式的结构。它允许你指定模式的元数据,比如集合名、版本键、时间戳等。 英/ˈskiːmə/模式 -
SchemaFactory
:这是一个工具函数,用于从定义的模式类中创建实际的Mongoose模式对象。通常,你会使用createForClass
方法从一个类定义中创建模式。
Cat
类是一个模式类,它使用@Schema()
装饰器标记。每个属性使用@Prop()
装饰器来定义字段的属性。CatSchema
是一个Mongoose模式对象,它是由SchemaFactory.createForClass(Cat)
创建的,可以被NestJS模块使用,以便在你的应用程序中执行CRUD操作和其他数据库相关的任务。