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

相关推荐
q***38516 分钟前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
合作小小程序员小小店12 分钟前
游戏开发,桌面%小游戏,贪吃蛇%demo,基于vs2022,c语言,easyX,无数据库
c语言·开发语言
用户479492835691517 分钟前
别再当 AI 的"人肉定位器"了:一个工具让 React 组件秒定位
前端·aigc·ai编程
Nan_Shu_61435 分钟前
学习:Sass
javascript·学习·es6
x***J3481 小时前
Python多线程爬虫
开发语言·爬虫·python
m***D2861 小时前
Python网络爬虫实战案例
开发语言·爬虫·python
保持低旋律节奏1 小时前
C++——C++11特性
开发语言·c++·windows
WYiQIU1 小时前
面了一次字节前端岗,我才知道何为“造火箭”的极致!
前端·javascript·vue.js·react.js·面试
qq_316837751 小时前
uniapp 观察列表每个元素的曝光时间
前端·javascript·uni-app
小夏同学呀1 小时前
在 Vue 2 中实现 “点击下载条码 → 打开新窗口预览 → 自动唤起浏览器打印” 的功能
前端·javascript·vue.js