mongodb - 在 Heroku 上使用 Play 框架设置 MongoLab 或 MongoHQ

标签 mongodb heroku playframework

我似乎找不到任何关于在 Heroku 上使用 Play Framework 设置 MongoHQ 或 MongoLab 的说明。

是否有类似的东西用于 Spring 框架(我相信)https://devcenter.heroku.com/articles/mongohq#use-with-java我可以跟进吗?

或者有没有人可以提供任何说明。

最佳答案

MongoHQ 将 MONGOHQ_URL 添加到您的 Heroku 配置环境

heroku config

返回类似的东西

MONGOHQ_URL: mongodb://heroku:1234@someserver.mongohq.com:10071/app1234

在您的应用程序中使用此环境变量来获取要将 Mongo 连接到的 URI。我有一个可以在 Procfile 中指定的覆盖属性

web: target/start -Dhttp.port=$PORT -Dmongodb.uri=$MONGOHQ_URL

在 Play 模型类中,我通过以下方式连接和查询 Mongo:

val mongoUri = MongoUri(Play.configuration.getString("mongodb.uri").get)

val mongoCollection = mongoUri.connectDB match {
  case Left(thrown) => throw thrown
  case Right(database) => {
    mongoUri.username.map { username =>
      mongoUri.password.map { password =>
        database.underlying.authenticate(username,password)
      }
    }
    database.apply("mycollection")
  }
}

def findSomething(something:String) = {
  val searchTerm = MongoDBObject("something" -> something)
  mongoCollection.findOne(searchTerm) map { mongoObject =>
    Logger.info("Found %s".format(mongoObject.getAs[String]("somethingElse")))
  }
}

做出的假设:Play 2.0,Scala,Casbah

关于mongodb - 在 Heroku 上使用 Play 框架设置 MongoLab 或 MongoHQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12368613/

相关文章:

mongodb - 更新 mongodb 中的查询

ruby-on-rails - PostgreSQL 和排序,在 Heroku 设置语言环境

ruby-on-rails - 推送到heroku时,有没有办法将管道 Assets Assets 到s3?

游戏框架 1.2.将原始 html 插入模板?

java - 从同一 session 同时请求同一端点会在 Play 中产生问题

mongodb - 如何在没有管理员权限的情况下在 Windows 上安装 MongoDB 3.X?

mongodb - 我如何使用 meteor 实时搜索一个集合,并且只显示匹配的结果?

python - 找不到任何满足要求的下载 pypm==1.3.4

playframework - Play Framework 2.2 将路由拆分为多个文件

MongoDB 索引 (ensureIndex)