NestJS Mongoose扩展模式并覆盖父级的属性

xxb16uws  于 2023-03-12  发布在  Go
关注(0)|答案(1)|浏览(147)

我想让我的Class B扩展一个Class A。这和预期的一样,但是现在我需要在Class B中覆盖Class A的一个属性。
具体来说,我必须使类A的属性对于类B是可选的:

export class B extends A {
  // This property is available in Class A
  @Prop({ required: false, index: true })
  @ApiProperty()
  propertyToOverride: number;
}
esbemjvw

esbemjvw1#

我在NestJS的Discord中问过这个问题,这是我从主持人Scott那里得到的答案 (Scott(EN-DE)#0052)
prop属性没有覆盖。而且,模式定义的传统继承也不起作用,即覆盖。如果你从一个模式类扩展,你只能在你的新类中添加额外的字段。所以,它是一个可重用的工具,而不是多态工具。如果你需要多态,那么你需要看一下鉴别器。
所以不幸的是,目前似乎没有办法用继承来做到这一点:(

相关问题