问题描述
我在 nest.js 应用程序中为我的 Car 实体定义了一个猫鼬模型和架构,其中字段 Brand 是对另一个集合的 ObjectId 引用有时会填充,但有时不会。我已经定义了架构,如:
export const CarSchema = new Schema({
name: String;
price: Number;
brand: { type: Schema.Types.ObjectId,ref: 'Brand' },})
那里没有问题。我的问题是:因为当我检索汽车时,我有时会填充 Brand 字段,所以我必须在模型中输入 brand 属性,如下所示:
export interface CarModel extends Document {
name: string;
price: number;
brand: Brand;
}
问题在于,在少数不需要填充 brand 属性的情况下,Typescript 会引发一个错误,告诉我 brand 应该是 brand 类型em>Brand 而不是字符串(当我不填充它时,属性作为 ObjectId 字符串检索)。我应该像下面这个例子一样输入模型吗?
export interface CarModel extends Document {
name: string;
price: number;
brand: Brand | string;
}
或者有其他正确的方法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)