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

相关推荐
JefferyXZF10 分钟前
新手建站零门槛!Vercel+Cloudflare+Namesilo域名购买部署全流程
前端
syt_biancheng17 分钟前
Day3算法训练(简写单词,dd爱框框,3-除2!)
开发语言·c++·算法·贪心算法
yinuo19 分钟前
微信浏览器缓存机制大揭秘:为什么你总刷不出新页面?
前端
拉不动的猪20 分钟前
try...catch 核心与生态协作全解析
前端·javascript·vue.js
Xeon_CC39 分钟前
在react-app-rewired工程项目中,调试AntVG6库源码包。
前端·react.js·前端框架
864记忆42 分钟前
Qt Network 模块中的函数详解
开发语言·网络·qt
864记忆43 分钟前
Qt Sql 模块中的函数详解
开发语言·网络·qt
是店小二呀1 小时前
五分钟理解Rust的核心概念:所有权Rust
开发语言·后端·rust
她说人狗殊途1 小时前
存储引擎MySQL
开发语言
自然数e1 小时前
C++多线程【线程管控】之线程转移以及线程数量和ID
开发语言·c++·算法·多线程