2015-12-07 41 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

相關問題