首页 > 解决方案 > 使用 NestJs 从数据库中获取隐藏字段

问题描述

我在密码上应用了隐藏属性:

 @Column({nullable: true, select: false})
 password: string;

进行登录我需要提交密码。因此,根据他的文档, 我可以使用以下方法选择此隐藏值:

const qb = getConnection().createQueryBuilder()
const user = await qb
  .select("password", "password")
  .from(User, 'user')
  .where("password = :password", {
    password: password
  })
  .addSelect('password', 'password')
  .getOne()

这样做我得到undefined了,password无论如何财产仍然是隐藏的。
如何在我的情况下获得隐藏的价值?

标签: node.jsnestjstypeorm

解决方案


根据文档,您可以使用

.addSelect('user.password')

你有.addSelect('password', 'password')哪个行不通。不要为隐藏列别名列。(可能是 TypeOrm 中的一个错误)。

这也将起作用

   .select('user.password')

您不需要两者selectaddSelect对于相同的列,addSelect由于已经选择了列,所以什么都不做。


推荐阅读