2015-12-07 45 views
1

我正在使用新的MongoDB Scala驱动程序。当我存储java.util.Date时,它将作为Int64而不是MongoDB Date存储在MongoDB中。我有一些代码,看起来像这样:如何获取日期作为日期存储在MongoDB而不是Int64中?

implicit val writer = new Writes[Forecast] { 
    def writes(x: Forecast): JsValue = { 
    Json.obj(
     // ... 
     "issueDateTime" -> x.issueDateTime // which is a java.util.Date 
     // ... 
    ) 
    } 
} 

但什么MongoDB中最终是一个Int64,而不是一个日期。我如何获取日期到MongoDB中?

回答

2

如果您使用的是最新的MongoDB Scala Driver v1.1。 而不是使用Json.obj来构建文档,请尝试使用Document类。

BsonTransformer将改变java.util.DateBsonDateTime

例如:

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") 
} 

希望有所帮助。

+0

当我开始工作时,我会给你一个镜头,谢谢! – gknauth

相关问题