Båda decimal
och bigint
typer kan innehålla värden som är för stora för att "passas" i JavaScripts Number
:
Number.MAX_SAFE_INTEGER
(JS):9007199254740991bigint
:-9223372036854775808 till 9223372036854775807decimal
:upp till 131072 siffror före decimalkomma; upp till 16383 siffror efter decimaltecknet
Om du är helt säker på att värdena i din databas kommer att passa in i Number
, du kan konvertera dem (jag vet inte Knex, men kanske har den något slags hook-system som du kan använda för att transformera data som hämtats från databasen), eller ändra ditt databasschema så att det innehåller "mindre" radtyper.
Alternativt finns det också olika "big integer" paket för Node som du kanske kan använda.