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

Sådan bruges decimaltype i MongoDB

MongoDB understøtter ikke korrekt decimaler indtil MongoDB v3.4. Før denne version gemte den decimaler som strenge for at undgå præcisionsfejl.

Pre v3.4 Gem decimaler som strenge, men dette forhindrer aritmetiske operationer. Operatører som $min , $avg , ... vil ikke være tilgængelig. Hvis præcision ikke er en stor sag, så kan du muligvis skifte til double .

v3.4+ Du skal sikre dig, at følgende forudsætninger er sande:

  • MongoDB-serveren skal være mindst v3.4.
  • MongoCSharpDriver skal være mindst v2.4.3.
  • Databasen skal have featureCompatibilityVersion indstillet til '3.4' . Hvis din database er blevet oprettet af en ældre MongoDB-version, og du har opgraderet din server til v3.4, er din database muligvis stadig på en ældre version.

Hvis du har alle egenskaberne indstillet, skal du registrere følgende serializers for at bruge decimal128 type:

BsonSerializer.RegisterSerializer(typeof(decimal), new DecimalSerializer(BsonType.Decimal128));
BsonSerializer.RegisterSerializer(typeof(decimal?), new NullableSerializer<decimal>(new DecimalSerializer(BsonType.Decimal128)));


  1. MongoDB - Importer data

  2. Node.js og Mongoose regex-forespørgsel på flere felter

  3. Én publikation skjuler indlejrede felter fra en anden publikation

  4. 3 måder at få ugen fra en dato i MongoDB