我不知道如何使用TypeOrm查询生成器编写以下MySql语句
从farm.reg中选择reg.id,其中grpId ='ABC';
此选择仅返回ID,但我的查询构建器将返回整个对象。
此刻,我的NestJs服务中具有此功能,但我需要使用“地图”,但我不想这么做。
async getGrupIds(entity: string, grpId: string) {
console.log(entity, grpId);
const ids = await getRepository(reg)
.createQueryBuilder(entity)
.where('reg.grpId = :grpId', {grpId: grpId})
.getMany();
console.log(ids);
return ids.map(o => o.id);
}
谢谢
答案 0 :(得分:2)
如果要选择实体的某些指定字段,请尝试使用getRawMany()而不是getMany():
//I suppose you have a *grpId* variable in your function
const ids = await getRepository(Reg)
.createQueryBuilder('reg')
.select('reg.grpId', 'id')
.where('reg.grpId = :grpId', { grpId } )
.getRawMany();
console.log(ids);
return ids
}