如何在没有时间的情况下将LocalDate保存到MongoDB(为什么即使我只保存日期,Mongo也会随时间保存日期)?

问题描述 投票:0回答:1

我正在尝试以mongo保存List (只是没有时间的日期,格式为yyyy-MM-dd),在我的API完成dateList的计算后,我试图将这些日期保存在MongoDB中。保存后,我看到日期以yyyy-MM-dd hh:mm:ss格式保存,如下所示。

enter image description here

有人可以让我知道为什么会这样吗?有没有一种方法可以将LocalDate仅保存为yyyy-MM-dd格式?非常感谢。

我在SpringBoot和Java中使用SpringJPA Mongo。

java mongodb spring-data-jpa spring-data-mongodb localdate
1个回答
0
投票

之所以这样,是因为MongoDB以BSON格式存储数据(请参阅BSON spec

[B0中Date中没有数据类型,只有TimestampUTC Datetime都存储为64位整数。 UTC日期时间是自纪元以来的毫秒数,导致呈现时的时间部分全为零。

如果只想存储日期,则需要使用字符串类型。

如果问题在于数据的显示方式,您只需要一个不同的函数即可将从MongoDB返回的时间戳转换为您要使用的显示格式。

© www.soinside.com 2019 - 2024. All rights reserved.