我最近将Play升级到版本2.3.5并尝试将其与ReactiveMongo一起使用。但是,每当我尝试从mongoDB读取数据时,都会发生异常。这是我的build.sbt:
name := """ReactiveMongoRestExample"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws,
"org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"
)
这是堆栈跟踪:
play.api.Application $$ anon $ 1:执行 exception [[PrimaryUnavailableException $:MongoError ['没有主节点 可以!']]] play.api.Application $ class.handleError(Application.scala:296) 〜[play_2.11-2.3.5.jar:2.3.5] at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.5.jar:2.3.5] at play.core.server.netty.PlayDefaultUpstreamHandler $$ anonfun $ 14 $$ anonfun $ $申请1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) [play_2.11-2.3.5.jar:2.3.5] at play.core.server.netty.PlayDefaultUpstreamHandler $$ anonfun $ 14 $$ anonfun $ $申请1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) [play_2.11-2.3.5.jar:2.3.5] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) [scala-library-2.11.2.jar:na]引起: reactivemongo.core.actors.Exceptions $ PrimaryUnavailableException $: MongoError ['没有主节点可用!'] at reactivemongo.core.actors.Exceptions $ PrimaryUnavailableException $(actors.scala) 〜[reactivemongo_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23] at reactivemongo.core.actors.MongoDBSystem $$ anonfun $ pickChannel $ 4.适用(actors.scala:508) 〜[reactivemongo_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23] at reactivemongo.core.actors.MongoDBSystem $$ anonfun $ pickChannel $ 4.适用(actors.scala:508) 〜[reactivemongo_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23] at scala.Option.getOrElse(Option.scala:120) 〜[scala-library-2.11.2.jar:na] at reactivemongo.core.actors.MongoDBSystem.pickChannel(actors.scala:508) 〜[reactivemongo_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23]
MongoDB工作正常。我可以使用命令行工具和IntelliJ检索数据。
我将代码推送到github
也许有人知道这个问题,可以帮助我吗?那太棒了
答案 0 :(得分:0)
它可能无法启动Mongo服务器。 转到/ bin文件夹并运行mongo 您的临时文件夹可能的空间太小。 尝试运行:mongo --smallfiles
答案 1 :(得分:0)
同样的问题虽然使用相同的rx mongo插件更新到Play 2.3.8。 Mongodb支持在mongo shell下运行良好,就像在intellij idea 14中的mongo explorer一样。
在application.conf中使用mongodb.uri:
mongodb.uri =“mongodb:// pxxxxxxxx:pxxxxxxxx @ berne:27017 / playdb”
深入研究假设这是一个配置问题。
亨利
答案 2 :(得分:0)
出现此错误是因为我尝试使用未知用户连接到数据库。创建用户可以解决该错误。