#javascript #node.js #typescript #typeorm
#javascript #node.js #typescript #typeorm
Вопрос:
У меня есть объект в typeorm, определенный как:
@Entity('foo', { schema: 'dbo' })
export class Foo extends BaseEntity {
...
@ManyToMany(() => Bar, (bar) => bar.some, { lazy: true })
bars: Promise<Bar[]>
}
когда я использую find
результаты, вместо этого появляется символ подчеркивания обычного объекта ( bars
):
const results = await Foo.find({ relations: ['bars'] });
results.__bars__ // <--------- this should be just `bars`.
Это нормальное поведение typeorm? если нет, то как это исправить?
Ответ №1:
Это вызвано активацией отложенной загрузки { lazy: true }
, просто для вашей информации, возможно, они отказались от этой функции, см. Это, в качестве решения вы можете удалить эту функцию или создать карту для результата.
PS: несмотря на то, что я пробовал аналогичный случай и даже получаю подчеркивания, я получил bars
, выполнив results.bars