Gli impliciti dei gestori BSON (suggeriti nel commento) potrebbero non funzionare perché il comando FindAndModify ha una firma rigorosa per restituire Option[BSONDocument]
FindAndModify extends BSONCommandResultMaker[Option[BSONDocument]]
dato che il risultato restituito è di Future[Option[BSONDocument]]
digita
puoi importare i formati json
import play.modules.reactivemongo.json.BSONFormats._
e fai domanda
result.map(docOpt => docOpt.map(d => Json.toJson(d)))
sul risultato o chiama direttamente la conversione
import play.modules.reactivemongo.json.BSONFormats
result.map(docOpt => docOpt.map(d =>
BSONFormats.BSONDocumentFormat.writes(d).as[JsObject]))