MongoDB那些事儿

1、时区问题mongodb里存储的date比正常时间少8小时,那是因为它用的是格林尼治时间,new Date()的时候创建的是本地时间(北京时间),位于东八区,springboot配置里添加如下配置即可指定时区和返回的日期的格式:#处理时区问题spring.jackson.date-format=yyyy-MM-dd HH:mm:ss.SSSspring.jackson.time-zone=GMT+8在从mongodb里查出来数据的时候,会自动转换成本地时间(java自己做的事儿)。也就是
摘要由CSDN通过智能技术生成

一、时区问题

mongodb里存储的date比正常时间少8小时,那是因为它用的是格林尼治时间,new Date()的时候创建的是本地时间(北京时间),位于东八区,springboot配置里添加如下配置即可指定时区和返回的日期的格式:

#处理时区问题
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss.SSS
spring.jackson.time-zone=GMT+8

在从mongodb里查出来数据的时候,会自动转换成本地时间(java自己做的事儿)。也就是程序里new Date()的时候比如是(北京时间)2020-06-20 18:20:20.123 到了mongodb里就变成了(格林尼治时间)2020-06-20 10:20:20.123 ,接着查出来的数据会自动处理成本地时间2020-06-20 18:20:20.123,造成的影响仅仅是通过脚本查看数据库数据的时间,java会自动处理成本地时间,这个无需自己处理,要想统一化,就用String类型的时间或者long类型的时间(使用long存储的时候不太友好,一串数字谁知道是猴年马月)。

MongoDB公司比较无所谓,不给设置时区,所以统一都是格林尼治时间。。。(此处应该拉出去批评10分钟)

二、数据库同步工具

1、MongoShake 

阿里巴巴的  MongoShake ,目前可以支持到MongoDB4.X(我测试从mongodb3.2.16同步数据到mongodb4.0.4没问题)

延迟2s左右

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值