sql >> Database >  >> NoSQL >> MongoDB

Hoe decimaal type te gebruiken in MongoDB

MongoDB ondersteunt decimalen pas op MongoDB v3.4. Voor deze versie werden decimalen opgeslagen als strings om precisiefouten te voorkomen.

Pre v3.4 Sla decimalen op als strings, maar dit voorkomt rekenkundige bewerkingen. Operators als $min , $avg , ... zal niet beschikbaar zijn. Als precisie niet belangrijk is, kun je misschien overschakelen naar double .

v3.4+ U moet ervoor zorgen dat aan de volgende voorwaarden wordt voldaan:

  • MongoDB-server moet minimaal v3.4 zijn.
  • MongoCSharpDriver moet minimaal v2.4.3 zijn.
  • Database moet featureCompatibilityVersion . hebben ingesteld op '3.4' . Als uw database is gemaakt door een oudere MongoDB-versie en u uw server hebt geüpgraded naar v3.4, bevindt uw database zich mogelijk nog steeds op een oudere versie.

Als je alle eigenschappen hebt ingesteld, registreer dan de volgende serializers om de decimal128 te gebruiken typ:

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


  1. Gegenereerd script in MongoDB C#-stuurprogramma ophalen

  2. MongoDB-server niet toegankelijk in lokaal netwerk ondanks binding ip

  3. Redis keyspace-melding verloopt niet actief

  4. Een prestatie-spiekbriefje voor MongoDB