播放2.3.5和ReactiveMongo:MongoError ['没有主节点可用!']

时间:2014-10-17 12:02:41

标签: mongodb playframework-2.3 reactivemongo

我最近将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

也许有人知道这个问题,可以帮助我吗?那太棒了

3 个答案:

答案 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)

出现此错误是因为我尝试使用未知用户连接到数据库。创建用户可以解决该错误。