gpt4 book ai didi

node.js - 如何从 typeorm 实体中排除列,并且可以选择使用 Find 方法获取该列

转载 作者:行者123 更新时间:2023-12-02 02:03:43 43 4
gpt4 key购买 nike

import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";

@Entity()
export class User {

@PrimaryGeneratedColumn()
id: number;

@Column()
name: string;

@Column()
password: string;
}

我不想在这里输入密码,因为我想返回给客户:

const user = await User.find({where:{name:"test"}})

当我想修改密码时,我需要密码:

const user = await User.findOne({where:{name:"test"}})
user.password="password";
await user.save()

是否有使用 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;
}

这样,如果您执行find,您将不会从模型中获取密码字段。您必须使用 QueryBuilder 显式执行 addSelect

引用:https://typeorm.io/#/select-query-builder/hidden-columns

关于node.js - 如何从 typeorm 实体中排除列,并且可以选择使用 Find 方法获取该列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68690562/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com