【MongoDB】C#中的Mongo数据类型转换

用过Mongo的人都知道,Mongo使用的是Bson类型,有string,int,date,bool等数据类型,具体就不详述了。

在使用Mongo 的C#官方驱动时会碰到一个问题,如何将Bson中的数据类型与C#中的数据类型匹配起来。

以下就是我在实际项目中碰到的需要匹配的数据类型。

id

比如说所有的Mongo文档里都有一个_id,如果没有标识,直接在对象类中定义一个_id属性,那么在数据读取或保存时就会报错。

因此在对象类中应当如下进行定义:

[BsonId]
public ObjectId _id { get; set; }

DateTime

又比如在对象类中定义一个DateTime类型,保存到Mongo后再读取出来发现,取出来的日期比存入的日期要小。

原来Mongo数据库中都会将时间保存成UCT时间,即格林威治时间,比北京时间要晚8小时。

不过如果在时间属性前加上以下标签,即可解决问题。

[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
public DateTime BeginTime { get; set; }
上一篇:使用docker安装部署Spark集群来训练CNN(含Python实例)


下一篇:spring mvc 3.0 实现文件上传功能