Cloud foundry 绑定到cloud foundry后如何访问MongoDB值/数据?
我使用SpringBoot并使用mongodb数据库创建了一个web应用程序。在本地,我使用命令提示符“mongod”和“mongo”,在这里我可以查询我在UI中输入的数据 我当前的应用程序使用在本地主机上运行的MongoDb,默认端口为27017。我的web应用程序反映了存储在数据库中的数据。当我将此应用程序推送到CloudFoundry并绑定MONGODB服务时,它使用另一个数据库。在何处以及如何查看/访问所有输入的数据。在本地机器上,我可以使用db.collection.find()并查询我的所有数据 问题 一旦我将我的应用程序推到CloudFoundry,本地存储的所有数据都不会与之链接。我能够将值存储到PCF MongoDB中。但我不知道如何查看其中的数据。是否有命令或方法查看我输入到PCF MongoDB的所有数据 尝试 通过查看我的VCAP_服务,我可以看到我的数据库名称、用户名和密码。但它们看起来像是加密的,字母、数字和宣传都是混合的。下面的示例显示了VCAP的外观(副本值,相同格式) 我尝试在CLI中使用下面的代码Cloud foundry 绑定到cloud foundry后如何访问MongoDB值/数据?,cloud-foundry,Cloud Foundry,我使用SpringBoot并使用mongodb数据库创建了一个web应用程序。在本地,我使用命令提示符“mongod”和“mongo”,在这里我可以查询我在UI中输入的数据 我当前的应用程序使用在本地主机上运行的MongoDb,默认端口为27017。我的web应用程序反映了存储在数据库中的数据。当我将此应用程序推送到CloudFoundry并绑定MONGODB服务时,它使用另一个数据库。在何处以及如何查看/访问所有输入的数据。在本地机器上,我可以使用db.collection.find()并查询
mongo someurl.mongodomain.com:45475/database_name -u username -p password
所以对于databasename、username和password,我只是复制并粘贴了看起来加密的username和password
mongo myurl.com:1337/9faf201a-39b1-4lse-49242f404g11 -u 401849301k-8g3f-5c3j-k28-583920308592f04" -p 2jnkj4nk22kk5lk6kj4n4k6nkj6001
我的连接失败了。也许我必须输入正确的用户名和密码。在哪里可以设置用户名和密码?我使用的是spring boot,它是自动为我处理的。因此,我从未创建过用户名或密码。这里有五条建议(感谢Daniel.Mikusa的最后一条建议):
- 推送mongodb的web客户端并将其绑定到数据库。mongo express似乎有一个cloudfoundry包装器:
- 您可以使用mongo客户端程序以与连接本地mongodb类似的方式连接到远程mongodb。您可以在应用程序的环境中找到凭据(用户名、密码、数据库名):
cf env <your-app-name>
但是,CloudFoundry安装之外的计算机可能会阻止对mongodb实例的访问。在这种情况下,您可能需要尝试下一个选项cf env
- 将安装了mongo客户端的docker容器推送到cloudfoundry。Ssh到docker容器中,并从那里使用mongo客户端。并非在所有cloudfoundry安装中都启用将docker容器推送到CF
- 最后,您可以通过REST控制器公开域对象。可能使用spring数据rest:
- 使用
和ssh隧道。将mongodb实例绑定到应用程序,运行cf ssh
获取主机、端口和凭据(或生成服务密钥)。然后运行cf env
(您连接到的应用程序严格来说并不重要,它只是我们正在通过的应用程序)。现在将客户端连接到cf ssh-N-L::app name
,并使用从cf env获得的凭据localhost:
cf ssh
和隧道。将服务绑定到应用程序,运行cf env
获取主机、端口和凭据(或生成服务密钥)。然后运行cf ssh-N-L::app name
(您连接到的应用程序严格来说并不重要,它只是我们正在通过的应用程序)。现在将客户端连接到localhost:
,并使用从cf env
@DanielMikusa获得的凭据。好主意。如果你不介意的话,我可以在回答中加上这个。因为我不能发表评论。我想强调@DanielMikusa提供的选项非常有效。“使用cf ssh和ssh隧道。将mongodb实例绑定到应用程序,运行cf env获取主机、端口和凭据(或生成服务密钥)。然后运行cf ssh-N-L::app name(您连接到的应用程序并不重要,它只是我们正在通过隧道传输的应用程序)。现在将客户端连接到本地主机:并使用您从cf env获得的凭据。”
cf env <your-app-name>