財務上の目的で正確な表現が必要な場合は、小数部分が丸め誤差の影響を受けるため、倍精度小数点または浮動小数点値は不適切です。特定の10進値は、バイナリベースの浮動小数点を使用して表すことができないため、概算する必要があります。
あまり技術的でないイントロについては、浮動小数点数の丸めの問題を参照してください。オタクになりたい場合は、すべてのコンピューター科学者が浮動小数点演算について知っておくべきことを読んでください。
整数型(セント単位の値の格納)を使用することをお勧めします。これは、潜在的な丸め誤差を回避するためです。このアプローチは、MongoDBドキュメントで金銭データをモデル化するための「スケールファクターの使用」として説明されており、MongoDB3.2以前の一般的な回避策です。
MongoDB 3.4には、通貨データフィールドを操作するための正確な精度を提供する新しいDecimalBSONタイプが含まれています。