目前,当我们使用2.0 C#驱动程序序列化并将包含DateTime的对象保存到MongoDb时,我们正在失去精度,因此当它作为并发检查的一部分进行比较时,由于滴答不同而失败。
我找到了一个blog post,它描述了如何使用原始C#驱动程序来维护精度,方法是使用DateTimeSerializationOptions
并指定文档的BsonType但是我无法在线找到如何在新版本。
新驱动程序中以下代码的等效内容是什么?
DateTimeSerializationOptions.Defaults = new DateTimeSerializationOptions(DateTimeKind.Utc, BsonType.Document);
答案 0 :(得分:0)
在GitHub上挖掘了序列化程序的源代码后,我提出了以下工作原理。
BsonSerializer.RegisterSerializer(typeof(DateTime), new DateTimeSerializer(DateTimeKind.Utc, BsonType.Document))