【发布时间】:2020-06-17 22:27:31
【问题描述】:
从类中排除未定义或空属性。这是真实的自然,但我需要一个可以忽略这一点的装饰者
import {Expose, plainToClass} from "class-transformer";
class User {
@Expose() id: number;
@Expose() firstName: string;
@Expose() lastName: string;
}
const fromPlainUser = {
unkownProp: 'hello there',
firstName: 'Umed',
lastName: 'Khudoiberdiev',
}
console.log(plainToClass(User, fromPlainUser, { excludeExtraneousValues: true }))
// User {
// id: undefined,
// firstName: 'Umed',
// lastName: 'Khudoiberdiev'
// }
【问题讨论】:
-
排除他们的目的是什么?因为他们是你班级的一部分?
-
我正在将 Nestjs 与 mongoose 一起使用并将其传递给 mongoose 查询
-
似乎
class-transformer没有一些装饰器来仅排除未定义的属性,这是有道理的,因为您的类User定义了一个精确的类型并排除了它的一个属性将其转换为另一种类型。您可以尝试从User中删除id,并且不要使用{ excludeExtraneousValues: true } -
嗨,Akash,我也有这个问题。请关注:github.com/typestack/class-transformer/issues/35。也许可以对此发表评论(我也这样做了),所以他们认为它足够重要,可以实施..
标签: typescript class-transformer