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

相关推荐
什么都不会的Tristan几秒前
MybatisPlus-快速入门
java·开发语言
lixzest2 分钟前
C++应用开发转到大模型应用开发路径
开发语言·c++·人工智能·python
OEC小胖胖6 分钟前
04|从 Lane 位图到 `getNextLanes`:React 更新优先级与纠缠(Entangle)模型
前端·react.js·前端框架
愤怒的可乐6 分钟前
从零构建大模型智能体:ReAct 智能体实战
前端·react.js·前端框架
BlackWolfSky6 分钟前
React中文网课程笔记4—常用工具配置
前端·笔记·react.js
IT_陈寒7 分钟前
Python 3.12 新特性实战:5个让你的代码效率提升30%的技巧
前端·人工智能·后端
Ycocol8 分钟前
Flutter项目运行在浏览器无法访问
前端·flutter
Wpa.wk9 分钟前
接口自动化测试 - REST-assure小练习(Java版-分层)
java·开发语言·经验分享·python·自动化·接口自动化·po
张人玉10 分钟前
C#WPF页面布局及其属性
开发语言·c#·wpf
_OP_CHEN10 分钟前
【从零开始的Qt开发指南】(十七)Qt 事件详解:按键与鼠标事件的全方位实战指南
开发语言·c++·qt·前端开发·qt事件·客户端开发·gui开发