gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:19:55 27 4
gpt4 key购买 nike

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com