mongodb 服务器时区设置_关于MongoDB时区问题
由于MongoDb存储时间按照UTC时间存储的,其官方驱动MongoDB.driver存储时间的时候将本地时间转换为了utc时间,但它有个蛋疼的bug,读取的时候非常蛋疼的是返回的是utc使时间。一个非常直观的体现是时间类型字段存储后和再读入的是不一致的,一个简单的示例如下:
table.InsertOne(newMyClass()
{
Time=DateTime.Now,
});foreach (var data in table.Find(_=> true).ToList())
{
Console.WriteLine(data.Time);
}
运行这段代码就会发现时间读取出来和写入的相差8个小时(北京时间)。
本身MongoDB官方是知道这个的,也有很多人反应的这一问题:DateTime timezone problem。,但官方是没有修改的意向的,官方给出的修改方法是: 在时间类型属性字段上显式标注是否为本地时间
[BsonDateTimeOptions(Kind =DateTimeKind.Local)]public DateTime SomeDateProperty {get;set;}
这个方法虽然看起来没有什么问题,但用起来麻烦不已,一来要在一些不相关的DTO库中引入Bson的库,另一方面加标记很容易遗漏。实际上操作起来是很不方便的。
于是,有人有找到了另一种方法,那就是全局设置时间序列化的方式:
DateTimeSerializationOptions.Defaults = DateTimeSerializationOptions.LocalInstance;
这个方法只在MongoDb.Driver 1.x版本中有效,到了2.x后,DateTimeSerializationOptions已经被废弃了,可以使用如下方法:
var serializer = newDateTimeSerializer(DateTimeKind.Local, BsonType.DateTime);
BsonSerializer.RegisterSerializer(typeof(DateTime), serializer);
参考文章:
mongodb 服务器时区设置_关于MongoDB时区问题相关推荐
- mysql8时区设置_解决MySQL8.0时区的问题步骤
软件版本 Windows:Windows10 MySQL:mysql-8.0.16-winx64.zip 问题描述 java将当前时间保存到MySQL数据库时,MySQL中的时间不正确 问题分析 原因 ...
- springboot mysql时区设置_java/springboot/mysql时区问题解决方案
解决步骤: 先理清楚逻辑 数据从mysql查出-->进入docker(没容器化跳过)-->进入相应的应用程序(比如java或者框架springboot之类的)-->程序处理完输出返回 ...
- mongodb 服务器时区设置_关于MongoDB-Balancer设置时间窗口的问题
##7月1日19点过5分,设置时间窗口为12:00-12:10 [mongodb@cst ~]$ date Wed Jul 1 19:05:41 CST 2015 [mongodb@cst ~]$ / ...
- mysql数据库连接时区设置_springboot 连接数据库之时区设置
抽空查看以前的开发日志,发现了一些"问题"日志,决定整理后陆陆续续发出来吧,也为有需要的话小伙伴提供点帮助. 在springboot启动之时,报错了,一看应该就是连接MySql数据 ...
- mongodb更新某个字段_直播 | MongoDB开源数据库的云上之路
本文转自阿里巴巴数据库技术 来了来了!就在今天(11月26号)阿里云-MongoDB战略合作发布会真的来了!一直被模仿从未没超越的开源界大牛MongoDB与亚太区云数据库TOP 1 阿里云数据库要联手 ...
- 修改mongodb最大查询数_关于MongoDB最大连接数的查看与修改
在Linux平台下,无论是64位或者32位的MongoDB默认最大连接数都是819,WIN平台不知道,估计也没有人在 WIN平台下使用MongoDB做生产 在Linux平台下,无论是64位或者32位的 ...
- 曙光服务器bios设置_浪潮服务器PM8060阵列卡,如何做热备盘?操作相对有点复杂...
春节前安装调试了一台浪潮服务器,型号:5270M5,配置:2颗银牌4210 / 64G 内存 / 服务器固态硬盘:480G / 机械硬盘:8块600G SAS 3.5寸 15000转硬盘 / 1+1冗 ...
- esxi时区设置 +8_Go语言MySQL时区问题
原文见:Go语言MySQL时区问题 - Jiajun的编程随想 最近由于我要统一技术栈,因此把原本使用SQLite做存储的数据全部迁移到MySQL.博客也是.不过当我检查数据库时,发现时间和 我产生数 ...
- mongodb 导出 带条件_将 MongoDB 导出成 csv
**[摘要]** 将 Mongodb 数据结构转换成结构化的数据需求,我们可利用集算器 SPL 语言来进行辅助实现.若想了解更多,请前往乾学院:将 MongoDB 导出成 csv! 来源:https: ...
最新文章
- 如何看待 2020 届校招算法岗「爆炸」的情况?
- 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )
- Java面试知识点:多线程
- Serverless 落地挑战与蚂蚁金服实践
- 【CentOS】NFS服务器的安装与配置
- python中concat的用法_python pandas concat用法及代码示例
- A股开盘:深证区块链50指数跌0.46%,泰豪科技涨停
- 串口接收到的字符型数据如何转化成数字
- XML:体验学习的乐趣之XML总结
- Android Dialog Activity
- 汇编语言学习之安装编译器及书籍选择
- HTML5 全局属性
- 导数的四则运算法则_导数、微分、积分之间的区别与联系
- 对接微信支付之网页支付详解
- 时之歌 服务器维护,时之歌抽卡卡住了怎么办 时之歌手游招募吞卡解决方法
- 孙鑫VC++学习笔记(转载至程序员之家--虎非龙)[11--15]
- 针对Intel芯片mac、win平台对cpu功耗、频率、电源等信息检测
- Firefox报错——Gah. Your tab just crashed.
- 使用Python和OpenCV标记超级像素的炫彩度
- 正则表达式入门级别详细教程