Beide decimal
und bigint
-Typen können Werte enthalten, die zu groß sind, um in JavaScripts Number
"zu passen". :
Number.MAX_SAFE_INTEGER
(JS):9007199254740991bigint
:-9223372036854775808 bis 9223372036854775807decimal
:bis zu 131072 Stellen vor dem Dezimalpunkt; bis zu 16383 Nachkommastellen
Wenn Sie sich ziemlich sicher sind, dass die Werte in Ihrer Datenbank in Number
passen , können Sie sie konvertieren (ich kenne Knex nicht, aber vielleicht hat es eine Art Hook-System, mit dem Sie Daten transformieren können, die aus der Datenbank abgerufen wurden) oder Ihr Datenbankschema so ändern, dass es "kleinere" Zeilentypen enthält.
Alternativ gibt es auch verschiedene "big integer" Pakete für Node, die Sie möglicherweise verwenden können.