【发布时间】:2021-01-12 04:53:51
【问题描述】:
阅读MongoDB technique 上的 NestJS 文档,我发现了一个令人困惑的例子:
@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();
}
}
让我感到困惑的是构造函数; @InjectModel 的位置是 Cat.name。但是,在 cats.schema.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);
我是否遗漏了什么或者可能是文档中的“错误”?
【问题讨论】:
标签: nestjs