1

私は Scala を初めて使用するので、簡単な質問をしたいと思います。

返す関数がありますFuture[Option[T]

def findOne(query: JsObject)(implicit reader: Reads[T]): Future[Option[T]] = {
    Logger.debug(s"Finding one: [collection=$collectionName, query=$query]")
    collection.find(query).one[T]
}

そして私は戻らなければなりませんFuture[Option[PasswordInfo]]

私は試した:

def find(loginInfo: LoginInfo): Future[Option[PasswordInfo]] = {

    val result = find(Json.obj("loginInfo.providerID" -> loginInfo.providerID, "loginInfo.providerKey" -> loginInfo.providerKey))

    result.onSuccess{
      case something => Future.successful(Some(something).getOrElse(None))
    }
}

私のクラス:

case class PersistentPasswordInfo(
       loginInfo: LoginInfo,
       authInfo: PasswordInfo
       ) extends TemporalModel {
  override var created: Option[DateTime] = _
  override var updated: Option[DateTime] = _
  override var _id: Option[BSONObjectID] = _
}
4

1 に答える 1