on my entity decimal字段如下所示:
@Column('decimal', { precision: 10, scale: 2 })
amount!: BigNumber我从DTO映射这个实体字段,它处理nest js控制器的请求体。在DTO中,我有如下定义字段:
@Transform(value => new BigNumber(value))
amount!: BigNumber当我删除@Transform(value => new BigNumber(value))代码时,代码开始工作,但DTO的amount字段不是BigNumber对象,只包含带有amount的字符串。在我的服务组件中,需要使用BigNumber的函数,但我不能,因为这个数量的行为就像一个字符串。
例如,当我在DTO字段上调用*.compareTo()时,我得到了没有函数compareTo的错误,如果我在DTO中添加了@Transform装饰器,compareTo和其他函数就可以正常工作,但在DB中有错误。我正在使用postgres。谢谢你的建议。
发布于 2021-06-24 18:53:27
在@Transform装饰器下面添加@Type(() => BigNumber)可能会有所帮助。请参阅https://www.npmjs.com/package/class-transformer中的“使用嵌套对象”部分
https://stackoverflow.com/questions/65321820
复制相似问题