Play-Reactivemongo 0.12.0 angular-seed

При рефакторинге с ReactiveMongo.0.11.1 на ReactiveMongo 0.12.0 со ссылкой на https://github.com/AhmadMelegy/play-silhouette-reactivemongo-angular-seed не удалось выполнить компиляцию:

 def configure() {
      bind[DB].toInstance 
      {
        import com.typesafe.config.ConfigFactory
        import reactivemongo.api.DefaultDB
        import scala.concurrent.ExecutionContext.Implicits.global
        import scala.collection.JavaConversions._
        import scala.concurrent.Future

        val config = ConfigFactory.load
        val driver = new MongoDriver
        val connection = driver.connection(
          config.getStringList("mongodb.servers"),
          MongoConnectionOptions(),
          Seq()
        )
        connection.database(config.getString("mongodb.db"))
      }

Как решить эту проблему?

required: reactivemongo.api.DB   
found : scala.concurrent.Future[reactivemongo.api.DefaultDB]

1 ответ

Не рекомендуется

Ты можешь использовать Await получить результат от Future и связать это.

рекомендуемые

Используйте "play.modules.reactivemongo.ReactiveMongoModule" http://reactivemongo.org/releases/0.12/documentation/tutorial/play.html

Пример конфигурации:

# The default URI
mongodb.uri = "mongodb://someuser:somepasswd@localhost:27017/foo"

# Another one, named with 'bar'
mongodb.bar.uri = "mongodb://someuser:somepasswd@localhost:27017/lorem"

Пример кода

class MyComponent @Inject() (
  val defaultApi: ReactiveMongoApi, // corresponds to 'mongodb.uri'
  @NamedDatabase("bar") val barApi: ReactiveMongoApi // 'mongodb.bar'
) {

}

Если вам нужно выполнить собственное связывание, просто посмотрите на этот пример: https://github.com/ReactiveMongo/Play-ReactiveMongo/blob/master/src/main/scala/play/modules/reactivemongo/ReactiveMongoModule.scala

Другие вопросы по тегам