Nestjs:使用TypeOrm从CockroachDB加载jsonb将日期转换为字符串
我在CockroachDB中存储一个实体,其中一列是存储在JSONB列中的DTO。DTO中的一个属性是日期,但当我从数据库加载它时,它是一个字符串 这里是我的实体:Nestjs:使用TypeOrm从CockroachDB加载jsonb将日期转换为字符串,nestjs,typeorm,cockroachdb,Nestjs,Typeorm,Cockroachdb,我在CockroachDB中存储一个实体,其中一列是存储在JSONB列中的DTO。DTO中的一个属性是日期,但当我从数据库加载它时,它是一个字符串 这里是我的实体: @Entity('Entity') export class Entity { @Column('jsonb', { nullable: true }) @IsOptional() @Type(() => StateDto) @ValidateNested() state: S
@Entity('Entity')
export class Entity {
@Column('jsonb', { nullable: true })
@IsOptional()
@Type(() => StateDto)
@ValidateNested()
state: StateDto;
...
}
声明:
export class StateDto {
@IsDate()
@IsOptional()
firstActivationDate: Date;
....
}
@Type(() => Date)
@Transform(value => new Date(value) ,{ toClassOnly: true })
当我从控制器firstActivationDate获取实体时是一个日期,当我将实体写入数据库时是一个日期,在数据库中是一个日期,当我从带有
this.repository.findOne()
它是一根绳子
我试图让NestJs/TypeOrm通过在StateDto中使用这些注释来自动转换它:
@Type(() => Date)
@Transform(value => new Date(value) ,{ toClassOnly: true })
但这并没有改变什么。是否有一种方法可以将日期作为日期对象而不是字符串返回,而无需每次加载实体时在控制器/服务中手动转换