Я использую reactivemongo
в моем Play Framework App, и я заметил, что все документы представлены в виде, например,Удаления MongoDB ID объекта при обработке результатов из коллекции
{name: "Robert", age: 41 }
хранится в MongoDB, как
{_id: { $oid:"574005977e356b7310bcdc8d"}, name: "Robert", age: 41 }
и все в порядке. Это метод я использую, чтобы сохранить документы
// Scala code
def save(document: JsObject)
(implicit ec: ExecutionContext): Future[WriteResult] = {
collection.insert(document)
}
Последнее представление также то, что я получаю, когда я получать один и тот же документ из БД, используя этот метод:
def find(query: JsObject, queryOptions: QueryOpts, projection: JsObject,
sort: JsObject, pageSize: Int)
(implicit ec: ExecutionContext): Future[List[JsObject]] = {
collection.find(query, projection)
.options(queryOptions)
.sort(sort)
.cursor[JsObject](ReadPreference.primaryPreferred)
.collect[List](pageSize)
}
, но в данном случае я «хотел бы получить представление, как
{_id: "574005977e356b7310bcdc8d", name: "Robert", age: 41 }
для того, чтобы отправить документы запрашивающему клиенту через мой RESTful API. Как я могу это получить?
Вы можете использовать трансформаторы Json: [Случай 6: обрезать ветку с входа JSON] (https://www.playframework.com/documentation/2.5.x/ScalaJsonTransformers#Case-6:-Prune-a-branch- из-ввода-JSON) –