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".

questionAnswers(2)

yourAnswerToTheQuestion