sql >> Database teknologi >  >> NoSQL >> MongoDB

Ingen Json-deserializer fundet for typen Option[reactivemongo.bson.BSONObjectID]

Mærkeligt! Min Intellij IDEA 12 genkendte ikke importen, og da jeg optimerede importen

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

blev fjernet, hvilket skabte fejlen.

Man kunne også oprette et brugerdefineret Format-objekt for at oversætte BSONObjectID til 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 er nok i dette tilfælde.



  1. Node.js registrerer, når to mongoose-fund er færdige

  2. indsætMange Håndter Duplikatfejl

  3. Find de første 20 dokumenter fra samlingen i mongodb

  4. Sådan initialiseres en samling i Dockerized Mongo DB