Вот простой JSON, который я хочу написать/прочитать в/из MongoDB:
{
"id": "ff59ab34cc59ff59ab34cc59",
"name": "Joe",
"surname": "Cocker"
}
Прежде чем хранить его в MongoDB, "ff59ab34cc59ff59ab34cc59"
необходимо преобразовать в ObjectID
и id
, переименованный в _id
... так что заданный следующий Reads
, как мне это достичь?
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
И, конечно, мне также нужно обратное для моего Writes
, то есть переименования _id
в id
и преобразования ObjectID
в обычный текст в формате "ff59ab34cc59ff59ab34cc59"
.