我正在帮助编写一个C#应用程序来分析财务数据.在内部所有数字都存储为十进制,但是当我们将它们保存到我们的
mongodb数据库时,我们希望它们存储为双精度数而不是字符串.
我知道我可以通过将[BsonRepresentation(BsonType.Double)]属性应用于每个十进制字段来为单个字段执行此操作,但是在添加新的十进制值时我会忘记.
我知道我可以通过将[BsonRepresentation(BsonType.Double)]属性应用于每个十进制字段来为单个字段执行此操作,但是在添加新的十进制值时我会忘记.
有没有办法使这个成为所有十进制数的默认表示?
解决方法
对于现在提出这个问题的人来说,值得一提的是,从v3.4开始,Mongo现在原生支持存储十进制值,这是序列化C#十进制值的最佳方法,因为使用Double会导致精度损失,这可能特别成问题财务数据.
您可以在此处找到有关如何执行此操作的信息:How to use decimal type in MongoDB