在https://github.com/AhmadMelegy/play-silhouette-reactivemongo-angular-seed编译的引用中,从ReactiveMongo.0.11.1重构到ReactiveMongo 0.12.0失败:
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]发布于 2016-12-04 22:34:37
不推荐使用
您可以使用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
https://stackoverflow.com/questions/40928527
复制相似问题