sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB - Hvad med decimaltype værdi?

Hvis du ønsker en nøjagtig repræsentation af økonomiske formål, så er dobbelt- eller flydende kommaværdier uegnede, da brøkdelene er underlagt afrundingsfejl. Visse decimalværdier kan ikke repræsenteres ved hjælp af binært-baserede flydende kommaer og skal tilnærmes.

For en mindre teknisk intro, se Problemet med at afrunde flydende kommatal; hvis du vil nørde, så læs Hvad enhver computerforsker bør vide om flydende punkters aritmetik.

Anbefalingen om at bruge en heltalstype (lagre værdien i cents) er at undgå potentielle afrundingsfejl. Denne tilgang er beskrevet som "Using a Scale Factor" i MongoDB-dokumentationen til modellering af pengedata og er en generel løsning for MongoDB 3.2 og tidligere.

MongoDB 3.4 inkluderer en ny decimal BSON-type, som giver nøjagtig præcision til at manipulere pengedatafelter.



  1. Opdater felt med et andet felts værdi i dokumentet

  2. elasticsearch v.s. MongoDB til filtreringsapplikation

  3. Oprettelse af et administrationsområde på fem minutter med AdminBro, express, mongoDB, mongoose

  4. Uafhængig af store og små bogstaver sortering i MongoDB