【MongoDB】C#中的Mongo数据类型转换
2016-06-13 10:52
399 查看
用过Mongo的人都知道,Mongo使用的是Bson类型,有string,int,date,bool等数据类型,具体就不详述了。
在使用Mongo 的C#官方驱动时会碰到一个问题,如何将Bson中的数据类型与C#中的数据类型匹配起来。
以下就是我在实际项目中碰到的需要匹配的数据类型。
id
比如说所有的Mongo文档里都有一个_id,如果没有标识,直接在对象类中定义一个_id属性,那么在数据读取或保存时就会报错。
因此在对象类中应当如下进行定义:
DateTime
又比如在对象类中定义一个DateTime类型,保存到Mongo后再读取出来发现,取出来的日期比存入的日期要小。
原来Mongo数据库中都会将时间保存成UCT时间,即格林威治时间,比北京时间要晚8小时。
不过如果在时间属性前加上以下标签,即可解决问题。
在使用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; }
相关文章推荐
- mongodb安装教程。
- mongodb更新文档
- 启动mongodb数据库服务命令
- mongodb服务启动脚本
- MongoDB 数据库、集合创建删除与文档插入
- mongoDB--数据库操作
- mongoDB--1 概念
- mongodb 不重复添加数组方法
- MongoDB与Hadoop技术栈的整合应用
- mongodb权限设置之添加管理员、普通用户的方法
- MongoDB分片集群配置
- MongoDB关联关系解析以及java操作关联关系
- php连接mongodb
- mongodb集群(replication)
- mongodb使用
- mongodb 安装
- Mongodb 的基本操作
- 玩转mongodb(七):索引,速度的引领(全文索引、地理空间索引)
- MongoDB的golang驱动安装 + 首次调用Mongo Command。
- 实战开发:nodejs(express)+mongodb+........简单博客系统代码