TypeORM自定义存储库,从指定列中选择不同的值

Fuz*_*per 1 javascript postgresql typeorm nestjs

在我使用 Nestjs + typeorm + postgresql 的后端中,我有一个 CustomRepository 并且想要替换一些普通的 sql 查询。

这就是我所拥有的

const sqlQuery = `SELECT DISTINCT "myColumn" FROM "myTable"`
const sqlRes = await this.query(sqlQuery);
Run Code Online (Sandbox Code Playgroud)

我正在尝试得到这样的东西

this.find({select:["myColumn"]}); // note the missing DISTINCT
Run Code Online (Sandbox Code Playgroud)

但这给了我完整的专栏,但我只想要不同的值。

我发现了很多奇怪的createQueryBuilder().select(DISTINCT "myColumn" FROM "...... etc...解决方案,与我的工作解决方案相比,它们并没有给我带来任何好处。

小智 6

你可以这样做:

await getManager().createQueryBuilder('entity')
  .select('column')
  .distinct(true)
  .getRawMany();
Run Code Online (Sandbox Code Playgroud)