0xb*_*eny 2 postgresql node.js typescript typeorm nestjs
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
password: string;
}
Run Code Online (Sandbox Code Playgroud)
我在这里不需要密码,因为我想返回客户端:
const user = await User.find({where:{name:"test"}})
Run Code Online (Sandbox Code Playgroud)
当我想修改密码时我需要密码:
const user = await User.findOne({where:{name:"test"}})
user.password="password";
await user.save()
Run Code Online (Sandbox Code Playgroud)
有 Find、FindAndCount 甚至 FindOne 方法的解决方案吗?
我应该怎么做?
@Column您可以在实体内的装饰器中添加一个选择选项,如下所示:
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column({select: false})
password: string;
}
Run Code Online (Sandbox Code Playgroud)
这样,如果您这样做,您将无法从模型中获取密码字段find。您必须明确addSelect使用QueryBuilder.
参考: https: //typeorm.io/#/select-query-builder/hidden-columns