问题描述
我将实体存储在CockroachDB中,其中一列是DTO,它存储在JSONB列中。 DTO中的属性之一是日期,但是当我从数据库中加载它时,它是一个字符串。
这是我的实体:
@Entity('Entity')
export class Entity {
@Column('jsonb',{ nullable: true })
@IsOptional()
@Type(() => StateDto)
@Validatenested()
state: StateDto;
...
}
StateDto:
export class StateDto {
@IsDate()
@IsOptional()
firstActivationDate: Date;
....
}
当我从控制器中获取实体firstActivationDate是一个日期时,当我将该实体写入数据库时,它是一个日期,当我从数据库中加载时,如果在数据库中它是一个日期,则
this.repository.findOne()
它是一个字符串。
我试图通过使用StateDto中的这些注释来使nestJs / TypeOrm自动转换它:
@Type(() => Date)
@Transform(value => new Date(value),{ toClassOnly: true })
但这并没有改变。有没有办法在每次加载实体时都在控制器/服务中手动将其Date而不是字符串恢复为Date对象而不是字符串?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)