функция поиска в typeorm возвращает поле с __ подчеркиваниями__

#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