我在 TypeORM 中定义了一些 OneToMany 和 ManyToOne 关系,它们按预期工作;在我的查找中,我可以使用“select 语句”从原始表中选择某些列::
return await this.namedRepository.find({
select: ["ua_id", "ua_linkid_agent", "ua_linkid_usr"],
where: { ua_linkid_usr: usr_id },
relations: ["ua_agent"],
有没有办法限制从“ua_agent”中的数组返回的字段(例如“ua_id”和“ua_status”),而不必求助于 select:false
标准实体文件中的所有其他 @Column()
?
最佳答案
您可以使用查询生成器执行此操作,如下所示
this.namedRepository.createQueryBuilder('your_entity')
.leftJoinAndSelect('your_entity.ua_agent', 'ua_agent')
.select(['ua_id', 'ua_status', 'ua_agent.whatevercolumn'])
.getMany()
使用查询生成器,您可以仅选择您需要的内容。
关于typescript - 有没有办法从 TypeORM 关系中排除字段(或包含某些字段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66165705/