Как сохранить LocalDate в MongoDB без времени (почему mon go сохраняет дату со временем, даже если я сохраняю только дату)? - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь сохранить Список в пн go (только дата без времени в формате гггг-мм-дд ), после того как мой API завершит вычисление DateList, я пытаюсь сохранить эти даты в MongoDB. При сохранении я вижу, что даты сохраняются в формате гггг-мм-дд чч: мм: сс , как показано ниже.

enter image description here

Может кто-нибудь сообщить мне, почему это происходит? Есть ли способ просто сохранить LocalDate в формате гггг-мм-дд? Большое спасибо.

Я использую SpringJPA Mon go со Springboot и Java.

1 Ответ

2 голосов
/ 06 февраля 2020

Это происходит потому, что MongoDB хранит данные в формате BSON (см. BSON spe c).

В BSON нет типа данных для Date, есть только Timestamp и UTC Datetime оба хранятся в виде 64-разрядного целого числа. UT C datetime - это количество миллисекунд с начала эпохи, которое приводит к тому, что часть времени при рендеринге будет иметь все нули.

Если вы хотите сохранить только дату, вам нужно использовать строковый тип ,

Если проблема заключается в том, как отображаются данные, вам просто понадобится другая функция для преобразования метки времени, возвращенной из MongoDB, в формат отображения, который вы хотите использовать.

...