И двете decimal
и bigint
типовете може да съдържат стойности, които са твърде големи, за да се "поберат" в Number
на JavaScript :
Number.MAX_SAFE_INTEGER
(JS):9007199254740991bigint
:-9223372036854775808 до 9223372036854775807decimal
:до 131072 цифри преди десетичната запетая; до 16383 цифри след десетичната запетая
Ако сте напълно сигурни, че стойностите във вашата база данни ще се поберат в Number
, можете да ги преобразувате (не познавам Knex, но може би има някаква система за закачане, която можете да използвате за трансформиране на данни, извлечени от базата данни), или да промените схемата на вашата база данни, за да съдържа "по-малки" типове редове.
Като алтернатива има и различни "голямо цяло число" пакети за Node, които бихте могли да използвате.