【发布时间】:2013-11-17 21:40:13
【问题描述】:
我对 MongoDB 的经验很少。我通常在大型 SQL 服务器数据库上工作。
MongoDB 只支持双精度并且没有小数。 C# 驱动程序将小数序列化为字符串。
如果我将小数作为字符串存储在 MongoDB?
有没有办法将小数的默认序列化设置为双精度 (AllowTruncation)而不必在每个属性上放置一个属性 财产?
如果我使用 Bson double,我会损失什么精度?
感谢您的帮助!
更新
我有一个在 C# 中使用小数的现有应用程序模型。我想将 MongoDB 用作新的数据库层,并尽可能少地更改现有应用程序。这就是为什么我正在寻找一种将 C# 中的 decimals 映射到 MongoDB 中的 double 的方法。
我知道我失去了精确度,并且必须分析它的副作用。我剩下的唯一问题是知道是否有办法将小数的默认序列化设置为双精度。
再次感谢。到目前为止,答案和 cmets 都很棒。
【问题讨论】:
-
如果您需要小数精度,请不要使用双精度。这样做有更改数据的风险。
-
....还有未解决的问题:jira.mongodb.org/browse/SERVER-1393
-
感谢您的回复!很棒的信息。我仍然需要知道如何在 C# 中将小数的默认序列化设置为双倍。提到stackoverflow.com/questions/11541939/…的问题不一样
-
为什么不用双打?