【发布时间】:2015-11-12 18:15:23
【问题描述】:
以下代码尝试使用 Reactivemongo 按 ID 获取文档。但是,我不知道如何处理ID错误时抛出的IllegalArgumentException!
尝试了下面的代码,但编译器对case _ => Future.successful(None) 不满意,它说:found scala.concurrent.Future[None.type] required Option[SomeModel]。还尝试了case _ => None,但没有成功。
def getById(id: String)(implicit ec: ExecutionContext): Future[Option[SomeModel]]={
this.get( BSONDocument("_id" -> BSONObjectID(id)) ).map {
res => Future.successful(res)
}.recover {
case _ => Future.successful(None)
}
}
def get(query: BSONDocument)(implicit ec: ExecutionContext): Future[Option[SomeModel]]= {
collection.find(query).one[SomeModel](ReadPreference.Primary)
}
【问题讨论】:
标签: scala reactivemongo