找到反应性mongo和play框架

时间:2018-03-08 07:51:49

标签: scala playframework play-reactivemongo

我想通过他的邮件从MongoDB使用ReactiveMongo驱动程序检索用户的数据,但它返回:Future(<not completed>)

这是我的代码:

def findBymail(email: String) = {
  val query = Json.obj("mail" -> email)
  val resul = collection.flatMap(_.find(query).one[Users])
  Logger.warn(s"result found: $res") 
}

1 个答案:

答案 0 :(得分:1)

ReactiveMongo中的所有操作都是异步的,它总是返回Future,因此您可以使用

打印结果
collection.flatMap(_.find(query).one[Users]).map{ u => Logger.warn(s"result found: $res")

我认为这可能不是您想要的,您也可以返回Future并处理结果,

def findBymail(email: String) = {
  val query = Json.obj("mail" -> email)
  collection.flatMap(_.find(query).one[Users]).map{ user =>
      Logger.warn(s"result found: $user") 
      user
  }
}

您可以将结果处理为:

findBymail("....").map{ user =>
    ......
}