我们如何从 "outside" 访问 Bluemix 托管的 "Compose for MongoDB" 服务?

How can we access Bluemix hosted "Compose for MongoDB" service from "outside"?

情况:
今天在 Bluemix 中为 MongoDB 服务实例创建了一个新的 Compose
需要:
我必须使用工具(例如 Mongo Managemant Studio Pro、mongo.exe 等)直接访问此 MongoDB 以进行批量加载、测试、临时数据修复等。
问题:
我没有找到任何文档、样本或明确的声明
a) 让我确认这是可能的
b) 给了我完整的信息(不仅仅是一些一年前可能有用的技术片段)如何去做。
可能是我找错了地方或者不认识合适的人。但是我一直坚持这一点,在退出 Bluemix MongoDB 之前,也许有人有一个 copy/past 解决方案或手把手的分步手册。 欢迎任何帮助。谢谢!

回答

是的,Bluemix 为 MongoDB 实例托管的 Compose 可以从 mongo Shell 和一些更新的数据库管理工具进行连接。 但是,如果您是 运行 最新的数据库版本,您必须确保您的工具(shell 和数据库管理 GUI)符合最新的数据库功能,例如加密等。

问题的根源 我的问题是由于 mongo shell 和数据库管理工具 运行 的旧版本不兼容,与最新的 MongoDB 版本不兼容,它们在加密和多台服务器上具有专长在 URI 中处理。 至少有两个数据库管理工具与最新的数据库版本不兼容,需要时间来修复。问题是,两者都不会告诉你这件事。他们只是不连接。两边都没有日志。时期。 所以我在这里的建议是:寻找对您的数据库的特定版本表示专门遵守的工具提供商。

向 Bluemix 团队提出建议

为 mongo shell、MongoBooster 等最常用工具提供一些示例连接字符串可能不会花费太多时间,从而消除解释环境的麻烦和猜测变量并找出特定连接字符串需要什么,不需要什么。 例如 MongoDB Atlas 托管为每个集群提供了许多工具的现成连接字符串,您只需 copy/past 即可完成! 连接到 Atlas 花了我 5 分钟。对于 Bluemix,我浪费了几个小时!不是因为它很复杂,而是因为文档和生成的信息在某种程度上是不完整和混乱的——至少对于那些不以连接字符串为生的人来说是这样!

可以从应用程序连接到 Bluemix 中的 MongoDB 服务。对于这个答案,我使用了应用程序“Robo3T”,步骤如下:

  1. 在您的 Bluemix 帐户上访问您的 MongoDB 服务。通常在 "Cloud Foundry Services"
  2. 打开"Manage"部分,从"Connection Settings"复制"HTTPS"连接地址和端口。在这个例子中 "sl-eu-lon-2-portal.5.dblayer.com" 和“20651”
  3. 在 Robo3T 中使用上一步的连接地址创建一个新连接
  4. 在身份验证选项卡中配置数据库名称、用户名和密码 . The credentials are found as in step 1
  5. 从 "Connection Settings" 将 SSL 证书复制到文本文件并保存在本地。
  6. 在 Robo3T 的 "SSL" 选项卡中将证书添加到连接
  7. 测试连接并保存设置