我只是好奇我们是否可以在typeorm的findOne方法中提供投影仪?我正在使用postgres databse。
我需要的只是表中提供的电子邮件地址的ID。我得到的是用户的所有详细信息。
repository.findOne({email: 'abc@abc.com'})
这给了我所有的细节。但是我只想提取该特定用户的ID
我们可以将投影仪传递给上述查询吗?
例如repository.findOne({email: 'email'},{id:1})
是的,有可能。您需要将选项传递给 findOne
函数,以便代码如下所示:
async getOne(email: string): Partial<RepositoryEntity> {
const foundRow = repository.findOne({
where: {
email: email
},
select: 'id'
});
return foundRow;
}
或
async getOne(email: string): Partial<RepositoryEntity> {
const foundRow = repository.findOne(
{ email: email },
{ select: 'id' }
);
return foundRow;
}
您可以在此处看到定义类型的源代码