【发布时间】:2014-12-10 13:56:02
【问题描述】:
我有以下代码在 MongoDB 中插入产品:
// 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)。换句话说,自 epoc 以来的毫秒数。
我正在寻找的是将它映射到 MongoDB 中的"createdTime" : ISODate("1970-01-15T06:56:07.890Z")。因此,ISODate() 或 Date() 更合适(版本等)。
有什么方法可以做到这一点?使用 Java 8,所以也许其他类型不是 Date()?
【问题讨论】:
-
还没有找到一个(简洁的)解决方案,使用 Java MongoDB 驱动程序并使用构造函数和 get-methods 来创建对象以进行持久化,而不是。不过需要维护的代码。
-
@mmx73 很高兴您在删除链接后提供了正确答案。我没有删除它。它被另一位审阅者标记为“仅链接”。我反对该名称,但似乎我的论点被否决了。
-
@mmx73 对其他问题的已接受答案也进行批评会很有帮助,以便其他找到它的人知道哪个答案确实有效。感谢您的尝试。
-
@mmx73 顺便说一句,您只需要 15 个代表即可将问题标记为重复。你已经超过那个水平了。 :-)
-
@ErickG.Hagstrom:反正现在它已经关闭了。我有一个很好的文档和完整的答案准备发布......现在运气不好了。关键是,这个问题不是重复的,而是另一个是因为这个问题是之前提出的。这让我有点生气,我改进了另一个问题,以便有一个完整的答案,我把正确的答案放在这里,我唯一得到的是反对票和删除的答案。这没有动力。