2013-04-19 2 views
2

JSON 본체를받는 컨트롤러가 있습니다. 필드 중 하나는 yyyy-mm-dd 양식의 날짜입니다. 내가하고 싶은 것은이 필드를 BSONDateTime에 적합한 형식으로 변환하고 ReactiveMongo가 삽입을 수행하도록하는 것입니다.JSON으로 BSONDateTime으로 날짜를 변환하는 방법은 무엇입니까?

((__ \ 'myDate).json.pickBranch(Reads.of[JsString] andKeep toDateFormat)) 

가 어떻게이 변환을 수행 할 수 있습니다

뭔가처럼 생각?

답변

3

진행 향해 단계 ... 나는 반응 몽고 후 처리 할 수있는 JsNumber에 날짜 문자열 얻기 위해 다음과 같이 뭔가를 할 수 있다고 생각 :

((__ \ 'myDate).json.update(Reads.of[DateTime].map{ x => JsNumber(x.getMillis)})) 

그것은 일부 implicits가 처리 할 수있다 플레이를 밝혀를 Reads 클래스의 Date 및 DateTime 객체는 Reads.of [DateTime] 기능을 수행합니다.

UPDATE : 다음과 같이

이 당신이 "$ 날짜"키와의 JSObject를 만드는 데 필요한 Play-ReactiveMongo 암시 BSON 컨버터 작업을 효율적으로 활용하려면 다음 작업을

((__ \ 'tripDate).json.pickBranch(Reads.of[DateTime].map{ x => Json.obj("$date"->JsNumber(x.getMillis))})) 
관련 문제