Play: Jak przekształcić JSON podczas pisania / czytania do / z MongoDB
Oto prosty JSON, który chcę napisać / odczytać do / z MongoDB:
{
"id": "ff59ab34cc59ff59ab34cc59",
"name": "Joe",
"surname": "Cocker"
}
Przed zapisaniem go w MongoDB,"ff59ab34cc59ff59ab34cc59"
musi zostać przekształcony wObjectID
iid
zmieniono nazwę na_id
... tak podane poniżejReads
, jak to osiągnąć?
val personReads: Reads[JsObject] = (
(__ \ 'id).read[String] ~ // how do I rename id to _id AND transform "ff59ab34cc59ff59ab34cc59" to an ObjectID?
(__ \ 'name).read[String] ~
(__ \ 'surname).read[String]
) reduce
Oczywiście potrzebuję też czegoś przeciwnegoWrites
, tj. zmiana nazwy_id
doid
i przekształcanieObjectID
do zwykłego tekstu w formacie"ff59ab34cc59ff59ab34cc59"
.