Cloud foundry 绑定到cloud foundry后如何访问MongoDB值/数据?

Cloud foundry 绑定到cloud foundry后如何访问MongoDB值/数据?,cloud-foundry,Cloud Foundry,我使用SpringBoot并使用mongodb数据库创建了一个web应用程序。在本地,我使用命令提示符“mongod”和“mongo”,在这里我可以查询我在UI中输入的数据 我当前的应用程序使用在本地主机上运行的MongoDb,默认端口为27017。我的web应用程序反映了存储在数据库中的数据。当我将此应用程序推送到CloudFoundry并绑定MONGODB服务时,它使用另一个数据库。在何处以及如何查看/访问所有输入的数据。在本地机器上,我可以使用db.collection.find()并查询

我使用SpringBoot并使用mongodb数据库创建了一个web应用程序。在本地,我使用命令提示符“mongod”和“mongo”,在这里我可以查询我在UI中输入的数据

我当前的应用程序使用在本地主机上运行的MongoDb,默认端口为27017。我的web应用程序反映了存储在数据库中的数据。当我将此应用程序推送到CloudFoundry并绑定MONGODB服务时,它使用另一个数据库。在何处以及如何查看/访问所有输入的数据。在本地机器上,我可以使用db.collection.find()并查询我的所有数据

问题

一旦我将我的应用程序推到CloudFoundry,本地存储的所有数据都不会与之链接。我能够将值存储到PCF MongoDB中。但我不知道如何查看其中的数据。是否有命令或方法查看我输入到PCF MongoDB的所有数据

尝试

通过查看我的VCAP_服务,我可以看到我的数据库名称、用户名和密码。但它们看起来像是加密的,字母、数字和宣传都是混合的。下面的示例显示了VCAP的外观(副本值,相同格式)

我尝试在CLI中使用下面的代码

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>
    
    cf env
    
    但是,CloudFoundry安装之外的计算机可能会阻止对mongodb实例的访问。在这种情况下,您可能需要尝试下一个选项

  • 将安装了mongo客户端的docker容器推送到cloudfoundry。Ssh到docker容器中,并从那里使用mongo客户端。并非在所有cloudfoundry安装中都启用将docker容器推送到CF

  • 最后,您可以通过REST控制器公开域对象。可能使用spring数据rest:

  • 使用
    cf ssh
    和ssh隧道。将mongodb实例绑定到应用程序,运行
    cf env
    获取主机、端口和凭据(或生成服务密钥)。然后运行
    cf ssh-N-L::app name
    (您连接到的应用程序严格来说并不重要,它只是我们正在通过的应用程序)。现在将客户端连接到
    localhost:
    ,并使用从cf env获得的凭据


您好,使用您向我显示的命令。它提供的VCAP也显示在UI中。数据库、用户名和密码是加密的(字母和数字与hypens混合)。如何登录到该服务器以查看、添加或更改数据?您如何知道这些数据是加密的?通常,它们只是未加密、随机生成的字符串。您的应用程序需要它们连接,因此您也可以从工作站使用它们。你在PWS上吗?好的。刚刚看到你的编辑。数据库名和用户名看起来像UUID。密码可能已更改。如果您无法连接,那么出于安全原因,我想这是从cloudfoundry安装外部阻止的。在本例中,我将使用Spring数据rest。第五个选项是使用
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>