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

相关推荐
老李笔记4 分钟前
VUE element table 列合并
javascript·vue.js·ecmascript
滿5 分钟前
Vue3 Element Plus 表格默认显示一行
javascript·vue.js·elementui
好了来看下一题7 分钟前
TypeScript 项目配置
前端·javascript·typescript
lb29178 分钟前
关于golang热加载安装,实时响应
开发语言·后端·golang·热加载
江城开朗的豌豆11 分钟前
Vue的双向绑定魔法:如何让数据与视图‘心有灵犀’?
前端·javascript·vue.js
江城开朗的豌豆13 分钟前
Vue权限控制小妙招:动态渲染列表的优雅实现
前端·javascript·vue.js
陈奕迅本讯14 分钟前
并发编程-Synchronized
开发语言·c#
康小庄15 分钟前
AQS独占模式——资源获取和释放源码分析
java·开发语言·jvm·spring boot·spring·spring cloud·nio
草明22 分钟前
macOS 查看当前命令行的ruby的安装目录
开发语言·macos·ruby
汤姆yu29 分钟前
基于python大数据的nba球员可视化分析系统
大数据·开发语言·python