両方のdecimal
およびbigint
タイプには、JavaScriptのNumber
に「収まる」には大きすぎる値が含まれている可能性があります :
-
Number.MAX_SAFE_INTEGER
(JS):9007199254740991 -
bigint
:-9223372036854775808から9223372036854775807 -
decimal
:小数点の前に最大131072桁。小数点以下16383桁まで
データベースの値がNumber
に収まることが確実な場合 、それらを変換するか(Knexはわかりませんが、データベースから取得したデータを変換するために使用できるフックシステムがある可能性があります)、データベーススキーマを変更して「小さい」行タイプを含めることができます。
または、さまざまな"biginteger" もあります。 使用できる可能性のあるノードのパッケージ。