我正在使用新的MongoDB Scala驱动程序。当我存储java.util.Date时,它作为Int64而不是MongoDB Date存储在MongoDB中。我有一些看起来像这样的代码:
implicit val writer = new Writes[Forecast] {
def writes(x: Forecast): JsValue = {
Json.obj(
// ...
"issueDateTime" -> x.issueDateTime // which is a java.util.Date
// ...
)
}
}
但最终在MongoDB中的是Int64,而不是Date。如何在MongoDB中获取日期?
答案 0 :(得分:2)
如果您使用的是最新的MongoDB Scala Driver v1.1。 不要使用Json.obj来构建文档,而是尝试使用Document类。
BsonTransformer会将java.util.Date转换为BsonDateTime
例如:
val newdate = new Date()
val doc: Document = Document("test" -> newdate)
collection.insertOne(doc).results()
将导致:
{ "_id" : ObjectId("56665bf619a63d9e538b2851"),
"test" : ISODate("2015-12-08T04:26:29.999Z")
}
希望有所帮助。