Oba decimal
i bigint
typy mogą zawierać wartości, które są zbyt duże, aby „zmieściły się” w Number
JavaScriptu :
Number.MAX_SAFE_INTEGER
(JS):9007199254740991bigint
:-9223372036854775808 do 9223372036854775807decimal
:do 131072 cyfr przed przecinkiem; do 16383 cyfr po przecinku
Jeśli masz pewność, że wartości w Twojej bazie danych zmieszczą się w Number
, możesz je przekonwertować (nie znam Knexa, ale być może ma jakiś system przechwytujący, którego możesz użyć do przekształcenia danych pobranych z bazy danych) lub zmienić schemat bazy danych, aby zawierał "mniejsze" typy wierszy.
Alternatywnie istnieją również różne "duża liczba całkowita" pakiety dla Node, których możesz użyć.