如何从 typeorm find "query" 中获取不同的值

How to get distinct values from typeorm find "query"

我正在尝试对 typeorm 执行以下查询,但无法过滤掉不同的值。

SELECT DISTINCT name, description, style, spec2, div FROM clothes WHERE name = 'CMD' and div  in ('B01', 'B06', 'B07', 'B09')

我现有的代码如下。

    this._itemRepository.find({
      where: {
        "name" : "values",
        "div" : In(["v1","v2"])
      },
   })

find() 方法的参数是 FindManyOptions 类型,但它没有任何与不同值相关的属性。请帮我想办法

find 方法没有这样的选项。对于更高级的查询,您可以像这样使用 queryBuilder

this._itemRepository.createQueryBuilder('clothes')
.select(['name', 'description', 'style', 'spec2', 'div'])
.where('name = CMD AND div IN (B01, B06, B07, B09)')
.distinct()

编辑:(也许您需要将“CMD”、“B01”等字符串放入引号中)

或者你也可以这样做:

this._itemRepository.createQueryBuilder('clothes')
.select('DISTINCT(name)')
.where('name = CMD AND div IN (B01, B06, B07, B09)')