我似乎找不到任何关于在 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/