NestJS + Mongoose 模式与自定义打字稿类型

dod*_*she 6 mongoose mongodb typescript mongoose-schema nestjs

nestjs/mongoose我正在尝试使用以下类中的装饰器创建 Mongo 模式:

@Schema()
export class Constraint {
  @Prop()
  reason: string;

  @Prop()
  status: Status;

  @Prop()
  time: number;
}

Run Code Online (Sandbox Code Playgroud)

问题Status定义如下:

export type Status = boolean | 'pending';

Run Code Online (Sandbox Code Playgroud)

我无法弄清楚要传递给status'sprop装饰器的内容,因为我收到以下错误:

Error: Cannot determine a type for the "Constraint.status" field (union/intersection/ambiguous type was used). Make sure your property is decorated with a "@Prop({ type: TYPE_HERE })" decorator
Run Code Online (Sandbox Code Playgroud)

并且{ type: Status }不起作用,因为Status是 atype而不是 a Class

小智 1

由于status可以是布尔值或字符串,所以它是混合类型。所以你可以考虑将你的类型设置为混合