sql >> Databasteknik >  >> NoSQL >> MongoDB

Ingen Json deserializer hittades för typen Option[reactivemongo.bson.BSONObjectID]

Konstigt! Min Intellij IDEA 12 kände inte igen importen och när jag optimerade importerna

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

togs bort vilket skapade felet.

Man kan också skapa ett anpassat Format-objekt för att översätta BSONObjectID till 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")
    }
  }

Men importen räcker i det här fallet.



  1. MongoDb Filter Array

  2. Hur får man en instans av db från node-mongo native driver?

  3. Spring Data Mongo kan inte hitta PersistentEntity för Enum

  4. MongoDB-fel:Kan inte använda omprövningsbara skrivningar med limit=0