Когда у меня есть класс, подобный следующему:
export class Application{
@prop({ required: [true, 'app name is required'], unique: true })
name!: string;
@prop({ required: [true, 'component is required'], ref: Component})
component!: Ref<Component>;
}
И, предполагая, что класс «Компонент» имеет свойство «name», я не могу сделать это:
let app: Application
const appName = 'appTest';
app = await (await this.findOne({ name: appName })).populate('component').execPopulate();
console.log(app.component.name);
, потому что это дает мне следующую ошибку:
Property 'name' does not exist on type 'Ref<Component, ObjectId>'.
Property 'name' does not exist on type 'ObjectId'
Есть ли способ, которым я могу заставить линтера воспринимать тип как T (из Ref<T>
), а не как ObjectId?