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

How to save LocalDate to MongoDB without time (why is mongo saving date with time even if i save just the date)?

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

谁能告诉我为什么会这样? 有没有办法将 LocalDate 保存为 yyyy-MM-dd 格式? 非常感谢。

我正在使用 SpringJPA Mongo 和 springboot 和 Java。

这是因为 MongoDB 以 BSON 格式存储数据(参见 BSON spec)。

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

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

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