Tho*_*ski 2 postgresql node.js knex.js
当我在node.js服务器上运行查询到我的postgresql数据库时,我得到的值是变量类型字符串,实际上它是postgresql数据库中的小数.
我不知道为什么我的小数或甚至bigInts作为类型字符串返回.我使用knex作为我的ORM,如果这有所作为.到目前为止,我在网上看到的内容并不是很清楚该怎么做,似乎这种情况自动发生以保持精确性???
最好的解决办法是什么?是否最好使用parseFloat将我从查询返回的字符串变量转换为小数?
两者decimal和bigint类型可能包含太大而不适合JavaScript的值Number:
Number.MAX_SAFE_INTEGER (JS):9007199254740991bigint: -9223372036854775808至9223372036854775807decimal:小数点前最多131072位; 小数点后最多16383位如果您确定数据库中的值适合Number,您可以转换它们(我不知道Knex,但它可能有某种钩子系统,您可以使用它来转换从数据库中检索的数据) ),或更改您的数据库架构以包含"较小"的行类型.
或者,也可以使用Node的各种"大整数"包.