NestJS猫鼬文档中的'Cat.name'是什么?
在阅读上的NestJS文档时,我发现了一个令人困惑的示例:NestJS猫鼬文档中的'Cat.name'是什么?,nestjs,Nestjs,在阅读上的NestJS文档时,我发现了一个令人困惑的示例: @Injectable() export class CatsService { constructor(@InjectModel(Cat.name) private catModel: Model<CatDocument>) {} async create(createCatDto: CreateCatDto): Promise<Cat> { const createdCat = new th
@Injectable()
export class CatsService {
constructor(@InjectModel(Cat.name) private catModel: Model<CatDocument>) {}
async create(createCatDto: CreateCatDto): Promise<Cat> {
const createdCat = new this.catModel(createCatDto);
return createdCat.save();
}
async findAll(): Promise<Cat[]> {
return this.catModel.find().exec();
}
}
我是否遗漏了某些内容,或者可能是文档中的错误?Cat.name在本例中指的是所有类实际上都具有所有函数的固有静态属性名称。这为我们提供了一个内置常量,我们可以引用它,而无需编写自己的常量,但如果您愿意,也可以使用字符串“Cat”。在本例中,Cat.name是字符串“Cat”,只是引用它的另一种方式,它内置于所有类和函数中
在本例中,Cat.name指的是所有类实际上所有函数都具有的固有静态属性名。这为我们提供了一个内置常量,我们可以引用它,而无需编写自己的常量,但如果您愿意,也可以使用字符串“Cat”。在本例中,Cat.name是字符串“Cat”,只是引用它的另一种方式,它内置于所有类和函数中
噢!好的!所以它指的是那个名字。我被cat本身有一个名字这一事实弄糊涂了,我只专注于理解如何在没有实例化的情况下访问该属性。哈哈哈:D谢谢你的澄清!噢!好的!所以它指的是那个名字。我被cat本身有一个名字这一事实弄糊涂了,我只专注于理解如何在没有实例化的情况下访问该属性。哈哈哈:D谢谢你的澄清!
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);