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

相关推荐
m0_敲代码的彭于晏1681 小时前
Vercel 前端部署平台深度评测
前端
懂点Tech3 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
怕浪猫3 小时前
外包和大厂的前端代码,差在凌晨三点
前端·面试·github
m0_敲代码的彭于晏1683 小时前
Vercel 前端部署与全栈开发实战指南
前端·状态模式
徐小夕3 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
贾伟康3 小时前
【化学实验室|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
前端·移动开发·harmonyos·arkts·arkui
catchadmin4 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路4 小时前
go-grpc设计思想
开发语言·后端·golang
Csvn4 小时前
SSR/SSG/ISR(上):峡谷与渲染策略的时间预算
前端
Csvn4 小时前
SSR/SSG/ISR(下):可交互性、新鲜度与回源账
前端