#java #mongodb #jackson #spring-data #spring-data-mongodb
#java #mongodb #джексон #spring-data #spring-data-mongodb
Вопрос:
Когда наше приложение загружает экземпляр DBObject / Document из нашего MongoDB, нам нужно преобразовать все даты UTC в нем в значения ZoneDateTime, используя zoneIdName, который находится внутри экземпляра DBObject / Document. У нас много полей даты в DBObject, поэтому я бы хотел избежать необходимости внедрять конвертер Spring Data MongoDB уровня DBObject.
Возможно ли использовать конвертер Spring Data MongoDB уровня поля DBObject, такой как следующий, который использует поле в DBObject (т.Е. zoneIdName), чтобы иметь возможность выполнять преобразование в ZoneDateTime? Если нет, мне придется реализовать конвертер на уровне объекта, но это будет утомительно…
Спасибо за проявленный интерес и потраченное время.
class ZonedDateTimeReadConverter :
Converter<Date, ZonedDateTime> {
override fun convert(date: Date): ZonedDateTime {
// Need to replace "America/LosAngeles" with
// a value from a field in the object being processed.
return date.toInstant().atZone(ZoneId.of("America/LosAngeles"))
}
}
Ответ №1:
кажется, что конвертер для всего объекта является единственным вариантом