sql >> Databasteknik >  >> RDS >> PostgreSQL

Decimalvärdet i Postgresql returneras som String i Node.js

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):9007199254740991
  • bigint :-9223372036854775808 till 9223372036854775807
  • decimal :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.




  1. vad som händer i adop-fasen förbereda

  2. Samtidig process som infogar data i databasen

  3. Hur man får värdet på autoinkrement av sista raden vid infogningen

  4. Testar en GeoDjango-app med en PostGIS-databas