Ho il seguente codice che funziona in una console app quando si fa riferimento "org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"
No JSON serializzatore come JSObject trovato per il tipo play.api.libs.json.JsObject
quando aggiorno il riferimento a "org.reactivemongo" % "play2-reactivemongo_2.11" % "0.11.0.play23-M3"
ottengo:
Nessun serializzatore Json come JsObject trovato per tipo play.api.libs.json.JsObject. Prova ad implementare un OWrites o uno OFormat implicito per questo tipo.
import org.joda.time.DateTime
import reactivemongo.bson.BSONObjectID
import play.modules.reactivemongo.json.BSONFormats._
case class GoogleToken
(
id: Option[BSONObjectID],
name: String,
emailAddress: String,
refreshToken: String,
expires: DateTime
)
object GoogleToken {
import play.api.libs.json.Json
// Generates Writes and Reads
implicit val googleTokenFormat = Json.format[GoogleToken]
}
e poi
collezione val = db.collectionJSONCollection
val query = Json.obj()
val cursor = collection.find(query).
cursor[GoogleToken](ReadPreference.nearest).
collect[List]()
Che cosa sto facendo di sbagliato?
Quindi non posso Ricreare, ma confrontando queste due versioni, la maggior parte delle dipendenze è rimasta la stessa, ma mongo reattivo ha aggiornato le loro librerie interne. Per quello che vale il messaggio che riceverai da ImplicitNotFound su OWrites. Sta cercando di prendere un'istanza del tuo tipo/classe e creare un JsObject. Quando dici app per console - hai creato app o è presente nel repl? Non ho visto i nomi dei pacchetti sopra ma forse sono solo frammenti. – Barry
Mi chiedo se qualcosa è cambiato nella libreria dove vuole un JsObject e il formato sopra sulla classe case sta solo creando letture/scritture. – Barry
^^ sopra è errato è andato attraverso la fonte e richiede solo scritture – Barry