如何使用 typeorm 在嵌套 js 中存储大整数
Posted
技术标签:
【中文标题】如何使用 typeorm 在嵌套 js 中存储大整数【英文标题】:How to store big int in nest js using typeorm 【发布时间】:2020-05-12 14:54:55 【问题描述】:some.entity.ts
amount:number
但是当我在我的 postgres 中存储一个非常大的数据时,它会抛出错误 '''integer out of range'''
我的问题是如何使用 typeorm 将 Big Int 存储为 psql 中的类型
【问题讨论】:
【参考方案1】:在@Column 装饰器中定义类型bigint
,
@Column(type: 'bigint')
columnName: string;
注意:基于TypeOrm documentation bigint
映射到string
。
【讨论】:
整数的长度如何 JS 也有一个BigInt
类型,可以使用 transformer
选项映射到/映射。 (注:JS中的BigInt
是任意大的,不只是8个字节。)【参考方案2】:
只需在TypeORM的配置中添加 bigNumberStrings: false
即可,如:
TypeOrmModule.forRoot(
bigNumberStrings: false,
...config.database,
),
那么bigint会返回数字类型。
【讨论】:
以上是关于如何使用 typeorm 在嵌套 js 中存储大整数的主要内容,如果未能解决你的问题,请参考以下文章