sql >> データベース >  >> NoSQL >> MongoDB

タイプOption[reactivemongo.bson.BSONObjectID]のJsonデシリアライザーが見つかりません

    奇妙なことに、Intellij IDEA 12がインポートを認識せず、インポートを最適化したときに

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

    エラーを引き起こした削除されました。

    カスタムのFormatオブジェクトを作成して、BSONObjectIDを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")
        }
      }
    

    ただし、この場合はインポートで十分です。



    1. MongoDBでドキュメントのサイズを取得する2つの方法

    2. MongoDB-エラー:getMoreコマンドが失敗しました:カーソルが見つかりません

    3. MongoドキュメントをIDでグループ化し、タイムスタンプで最新のドキュメントを取得します

    4. NodeJSとMongoDBでWebサイトをホストする方法は?そして、費用はいくらですか?