2014-12-10 2 views
2

У меня есть следующий код для вставки продуктов в MongoDB:ObjectMapping java.util.Date к MongoDB "{ "время": ISODate()}" (MongoDB Java Driver + Jackson)

// This is just one product, but Im' looping several 
ObjectMapper om = new ObjectMapper(); 
builder.insert((DBObject)JSON.parse(om.writeValueAsString(product))); 
BulkWriteResult result = builder.execute(); 

В базе данных , поле private Date createdTime становится этим представлением JSON: "createdTime" : 1418219627000 (Int64). Другими словами, миллисекунды с эпохи.

Что я ищу, это сопоставить его с "createdTime" : ISODate("1970-01-15T06:56:07.890Z") в MongoDB. Таким образом, ISODate() или Date() все более подходит (версии и т. Д.).

Что было бы для этого? Используя Java 8, возможно, какой-то другой тип, чем Date(), в порядке?

+0

Не но нашел для этого (опрятное) решение, используя Java MongoDB Driver и вместо этого создавая объекты вместо использования конструкторов и get-методов. Тем не менее, поддерживающий голодный код. – Wrench

+0

@ mmx73 Я рад, что вы дали правильный ответ после того, как ваша ссылка была удалена. Я не удалял его. Еще один рецензент был отмечен как «ссылка только». Я выступал против этого обозначения, но, похоже, мой аргумент был отменен. –

+0

@ mmx73 Было бы полезно критиковать принятый ответ на этот другой вопрос, так что другие, кто его найдет, будут знать, какой ответ на самом деле работает. Спасибо за попытку. –

ответ

0

Постарайтесь сохранить объект как формат даты, это позволит сэкономить в MongoDB в качестве ISODate, чтобы иметь возможность конвертировать снова формат даты вы можете использовать библиотеку Jodatime или некоторые новые функции даты внутри Java 8

+0

Что значит «сохранение в формате даты»? Я сопоставляю тип Date с Map Mapper, но он преобразует его в целочисленное поле. – Wrench

+0

Когда я использую mongodb с пружинными данными внутри элемента @Document, я сохранил атрибут как формат даты, отправлю его в базу данных без какой-либо manupulation, поэтому он автоматически может сохранить формат ISADate, драйвер Mongodb java может его преобразовать. – erhan