nest中的注解

复制代码
//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操作和其他数据库相关的任务。

相关推荐
前端 贾公子14 小时前
unplugin-icons == elementPlus自动引入icon
前端·javascript·vue.js
請你喝杯Java14 小时前
Python 后端开发:从虚拟环境、pip、requirements.txt 到项目启动
开发语言·python·pip
YFLICKERH14 小时前
【Python-Web后端开发框架】Flask | Django | FastAPI | Tornado 选型与 使用 | 特性
前端·python·flask
光影少年14 小时前
说说模块化规范?CommonJS和ES Module的区别?
前端·javascript·elasticsearch
也曾看到过繁星14 小时前
初识c++
开发语言·c++
2401_8747325315 小时前
泛型编程与STL设计思想
开发语言·c++·算法
飞Link15 小时前
具身智能中 Wrapper 架构的深度解构与 Python 实战
开发语言·python·架构
telllong15 小时前
C++20 Modules:从入门到真香
java·前端·c++20
叫我一声阿雷吧15 小时前
JS 入门通关手册(21):原型链:JS 继承的底层原理
开发语言·javascript·前端面试·原型链·js继承·js进阶·js面向对象