sql >> Base de Datos >  >> NoSQL >> MongoDB

ReactiveMongo:cómo convertir BSON devuelto por FindAndModify a JSON

Los controladores implícitos de BSON (sugeridos en el comentario) podrían no funcionar porque el comando FindAndModify tiene una firma estricta para devolver Option[BSONDocument]

FindAndModify extends BSONCommandResultMaker[Option[BSONDocument]]

dado que el resultado devuelto es de Future[Option[BSONDocument]] escribir

puedes importar los formatos json

import play.modules.reactivemongo.json.BSONFormats._

y aplicar

result.map(docOpt => docOpt.map(d => Json.toJson(d)))

en el resultado, o llame a la conversión directamente

import play.modules.reactivemongo.json.BSONFormats

result.map(docOpt => docOpt.map(d =>
  BSONFormats.BSONDocumentFormat.writes(d).as[JsObject]))