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

相关推荐
RobinDevNotes17 小时前
从 Electron 到 GPUI,9 个跨平台桌面方案该怎么选
前端·javascript·rust·electron·openresty·前端开发工具
程序员大阳18 小时前
HTML+CSS+JS对话式实战(6)-学生端查看活动功能开发
javascript·css·html·模块·查看学生
jay神18 小时前
基于 YOLOv8 的轴承缺陷检测(Web 版)
前端·人工智能·yolo
jay神18 小时前
基于 YOLOv8 的森林火灾检测系统(Web 版)
前端·yolo
code2cat18 小时前
HTML基础篇之第一张网页:从index.html到浏览器里的任务清单
前端·html
噢,我明白了19 小时前
JAVA中的一些基础应用知识点
java·开发语言
miss19 小时前
AI 改完不敢上线?OpenSpec 规约驱动开发实战
前端·代码规范·前端工程化
AiMan19 小时前
腾讯ima还是不可以导出左侧所有对话,只能单条导出,方法不对吗
前端
去伪存真20 小时前
并发量一高就装死?Agent 全链路“防猝死”手册
前端·agent
Moment20 小时前
AI 编程时代,聊聊我的 Mac mini 双屏桌面
前端·后端