如何从 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)')
我正在尝试对 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)')