mongodb更改数据库时区

问题描述

我使用spring boot和mongodb。当我将对象保留在db中时,它更改为我的本地时区。这是我的mongo TimezoneOffset为-210的代码,当我在mongo上运行此命令时: new Date().getTimezoneOffset() => -210。问题是从另一个服务器上的生产mongodb开始的,该服务器的值是new Date().getTimezoneOffset() => 0

问题?如何在生产MongoDB等开发环境中制作TimezoneOffset

我坚持的一个java类是:

Class AuditDocument{

    @Id
    private String id;
    @NotNull
    private String creatorUsername;
    @CreatedDate
    private Date createDate;
}

开发MongoDB中的createDate从当前时间为-3:30的文档:

{
    "_id" : ObjectId("5f697ee483eede29e2c13a2d"),"creatorUsername" : "superadmin","createDate" : ISODate("2020-09-22T04:34:44.798Z"),}

解决方法

C为您提供了运行mongo shell的客户端系统上的时区偏移量。

  1. 这与服务器使用的时区偏移量无关。所有时间都存储在MongoDB的UTC中。

  2. 这与使用MongoDB的应用程序使用的时区偏移完全分开。每种编程语言/环境都有自己的设置时区偏移的方法。

您应该研究如何在应用程序中配置时区偏移

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...