2

MongoDBOpenShift. 我可以通过 连接到它RockMongo,这是由 提供的服务OpenShift

我正在尝试使用 连接到我的实例JAVA,但我只是收到一个Connection refuesed错误。此外,我无法使用RoboMongo.

在我的RockMongo状态选项卡中,我看到以下信息:

Host: 127.11.201.2
Port: 27017

使用RoboMongowith MongoLabinstance 可以很好地为其提供正确的凭据,但在这里使用OpenShift它无法连接到实例。

在我的JAVA应用程序中,我正在尝试以下操作:

MongoCredential credential = MongoCredential.createCredential(
                Const.MONGO_USERNAME, Cont.MONGO_DB,
                Const.MONGO_PASSWORD.toCharArray());
        mongo = new MongoClient(new ServerAddress(Const.MONGO_URI), Arrays.asList(credential));

127.11.201.2作为MONGO_URI. 为什么我无法连接到我的实例?我究竟做错了什么?

PS 使用puttymongo只需执行命令即可连接到我的实例mongo

4

1 回答 1

3

OpenShift 提供了环境变量,您应该使用它来连接到您的 MongoDB。

  • OPENSHIFT_MONGODB_DB_HOSTMongoDB IP 地址
  • OPENSHIFT_MONGODB_DB_PORTMongoDB 端口
  • OPENSHIFT_MONGODB_DB_USERNAMEMongoDB 用户名
  • OPENSHIFT_MONGODB_DB_PASSWORDMongoDB 密码
  • OPENSHIFT_MONGODB_DB_URLMongoDB 连接 URL(例如mongodb://<username>:<password>@<hostname>:<port>/

我正在使用一行代码连接到数据库:

new MongoClient(new MongoClientURI(System.getenv("OPENSHIFT_MONGODB_DB_URL")));
于 2015-05-08T19:41:00.247 回答