我有一个关系表,用于在以下结构中存储键值数据。
KEY VARCHAR(10)
Value-Text VARCHAR(50)
Value-Date DATETIME
Value NUMERIC
因此,对于任何给定的键,将只使用一个Value列。这首先不是一个好的设计。如果我必须在mongo中创建一个类似的键值对,其中value字段具有不同的数据类型,那么最佳选择是什么?如何使用 C#驱动程序?
答案 0 :(得分:0)
正如gypsyCoder所提到的,不需要将类型存储为模式的一部分。在C#中,您可以在POCO中将value
定义为object
,驱动程序会将该值序列化为基础类型。有一些例外。例如,MongoDB不支持十进制类型,因此小数被序列化为字符串。但是,大多数原语都会很好地在C#和MongoDB之间进行转换。