sql >> データベース >  >> NoSQL >> MongoDB

MongoDBで10進型を使用する方法

    MongoDBは、MongoDBv3.4まで小数を適切にサポートしていません。このバージョン以前は、精度エラーを回避するために小数を文字列として格納していました。

    v3.4より前 小数を文字列として格納しますが、これにより算術演算ができなくなります。 $minとしての演算子 、$avg 、...は利用できません。精度が重要でない場合は、doubleに切り替えることができる場合があります 。

    v3.4 + 次の前提条件が満たされていることを確認する必要があります。

    • MongoDBサーバーは少なくともv3.4である必要があります。
    • MongoCSharpDriverは少なくともv2.4.3である必要があります。
    • データベースにはfeatureCompatibilityVersionが必要です '3.4'に設定 。データベースが古いバージョンのMongoDBで作成されていて、サーバーをv3.4にアップグレードした場合、データベースはまだ古いバージョンである可能性があります。

    すべてのプロパティを設定している場合は、次のシリアライザーを登録してdecimal128を使用します タイプ:

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


    1. Mongo集計複数の値に一致

    2. 配列のない埋め込みドキュメント?

    3. Mongoアグリゲーションフレームワークを使用した複数のグループ操作

    4. MongoDBで日付から議事録を取得する5つの方法