sql >> Databáze >  >> NoSQL >> MongoDB

Pro typ Option[reactivemongo.bson.BSONObjectID] nebyl nalezen žádný deserializátor Json

Zvláštní! Můj Intellij IDEA 12 nerozpoznal import a když jsem importy optimalizoval

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

byla odstraněna, což způsobilo chybu.

Dalo by se také vytvořit vlastní objekt Format pro překlad BSONObjectID do json.

implicit object BSONObjectIDFormat extends Format[BSONObjectID] {
    def writes(objectId: BSONObjectID): JsValue = JsString(objectId.toString())
    def reads(json: JsValue): JsResult[BSONObjectID] = json match {
      case JsString(x) => {
        val maybeOID: Try[BSONObjectID] = BSONObjectID.parse(x)
        if(maybeOID.isSuccess) JsSuccess(maybeOID.get) else {
          JsError("Expected BSONObjectID as JsString")
        }
      }
      case _ => JsError("Expected BSONObjectID as JsString")
    }
  }

Ale import v tomto případě stačí.



  1. Rady ohledně migrace z MongoMapper na Mongoid?

  2. Proč tento aktualizační dotaz aktualizuje pouze jeden záznam jednou

  3. $a dotaz nevrací žádný výsledek

  4. Převeďte formát data a času z webové služby na řetězec