Ambos decimal
y bigint
los tipos pueden contener valores que son demasiado grandes para "encajar" en el Number
de JavaScript :
Number.MAX_SAFE_INTEGER
(JS):9007199254740991bigint
:-9223372036854775808 al 9223372036854775807decimal
:hasta 131072 dígitos antes del punto decimal; hasta 16383 dígitos después del punto decimal
Si está seguro de que los valores de su base de datos encajarán en Number
, puede convertirlos (no conozco Knex, pero tal vez tenga algún tipo de sistema de enlace que pueda usar para transformar los datos que se recuperaron de la base de datos), o cambiar el esquema de su base de datos para que contenga tipos de fila "más pequeños".
Alternativamente, también hay varios "big integer" paquetes para Node que podría usar.