mongodb踩坑
  lLaz4t1Dsv4b 2023年11月01日 300 0

mongo中的日期,在显示上,会比我们正常的时间少8h。

如果向mongo中插入数据,数据库显示的时间会少8h

如果从mongo中查出数据,那么在idea中会是正常的;而如果是在datagrip/navicat中查,那么显示的时间还是少了8h

这只是显示的问题,而对实际操作没有影响。我们在存入数据或者说查找数据的时候,只需要根据真实的业务上需要的时间去操作即可。

还有一个就是mongoTemplate查找的时候,要传入字符串,否则会查不到。我想这个原因就和redis中只能存储字符串一样的道理吧。

一个业务流程:

- 查找条件是:在Java代码中定义一个data类型的ArrayList,然后查找mongo数据库中,是这些时间对应的数据。

为了模拟查询数据,首先我修改了mongo中的数据,把一条数据改成了今天的日期。然后就用junit单元测试去调试。发现查出来的数据的日期却显示明天的。在这里卡了比较久时间,一直在想为什么我数据库时间设置成了今天的日期,但是查询出的数据的日期却是明天的。

在网上查找后,我得出结论,存入mongo中的时间类型字段,会-8h,而查出来又是正常的,这只是由于mongo中时区设置的问题,而且这样是不影响使用的,只是显示上这样而已。

所以,我就回到mongo数据库中查看我设置的这个日期,这里就比较关键,它显示的是11/7 16:00。根据刚刚说的,会-8h,那么查出来的话就是11/8 0:00。这也就解释了为什么我存的数据的日期是今天,但是查出来的数据日期却显示明天。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  0A7yydzHqvH3   2024年03月02日   52   0   0 NoSQL
  VlRy1zDaWnkA   2024年03月20日   128   0   0 NoSQL
  0A7yydzHqvH3   2024年03月01日   90   0   0 NoSQL
  kZLEadpmxZsY   2024年03月10日   133   0   0 NoSQL
  Jtgzt2RY5Ua9   2024年02月23日   137   0   0 NoSQL
  rnwPd73TbcyJ   2024年05月17日   41   0   0 NoSQL
  rnwPd73TbcyJ   2024年05月17日   40   0   0 NoSQL
  2Qcbx4bZA80L   2024年03月15日   84   0   0 NoSQL
lLaz4t1Dsv4b