Typeorm 是否筛选某些实体的所有请求?

Typeorm 是否筛选某些实体的所有请求?,typeorm,Typeorm,在某些情况下,能够用特定条件注释特定实体的所有查询(或者应用程序中的所有查询)将非常有利。例如。当我使用用户模型时,我希望像findOne和find这样的查询不会返回用户实例的密码和salt。我不想从每个查询中删除属性,相反,我只想删除一次 另一个用例是在我的应用程序中筛选特定的租户 到目前为止,我还没有看到TypeORM的这个功能。它是否存在?您可以将选择:false添加到实体中的列中,这将使您能够在默认情况下不选择此列 例如: @Entity('user') export class USE

在某些情况下,能够用特定条件注释特定实体的所有查询(或者应用程序中的所有查询)将非常有利。例如。当我使用
用户
模型时,我希望像
findOne
find
这样的查询不会返回
用户
实例的密码和salt。我不想从每个查询中删除属性,相反,我只想删除一次

另一个用例是在我的应用程序中筛选特定的租户


到目前为止,我还没有看到TypeORM的这个功能。它是否存在?

您可以将
选择:false
添加到实体中的列中,这将使您能够在默认情况下不选择此列

例如:

@Entity('user')
export class USER {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: 'varchar', length: 255 })
  firstName: string;

  @Column({ type: 'text', default: null, select: false }) <-- here
  salt: string;

  @Column({ type: 'varchar', length: 255, default: null, select: false }) // <-- here
  password: string;
}

嘿,谢谢你的回复。我知道这有点误导。我对向所有查询方法添加额外过滤器的选项特别感兴趣,如上所述。您的解决方案适用于用户示例(谢谢),但不能应用于强制实体的所有查询包含租户的
WHERE
条件。
this.userRepo
  .createQueryBuilder('user')
  .where({ firstName: 'John' })
  .addSelect(['user.salt', 'user.password'])
  .getOne();