查找用于 Azure MongoDB 的 Robomongo 连接设置的连接字符串

Find connection string for Robomongo connection settings to an Azure MongoDB

在我的应用程序中,我使用带有 mongoose 的节点连接到 MongoDB。 MongoDB 实例在 Azure 中。我需要上面的东西,所以我可以直接连接到数据库。

看完这个就去做:How to connect Robomongo to MongoDB

我正在为客户端使用 Robomongo 来执行此操作。我如何找到连接字符串?

编辑:当前 IP 和端口导致 'network unreachable'。我已经尝试在我的节点应用程序中记录 mongodb mongoose 连接变量,并且使用这些详细信息也不起作用。

您可以尝试在您的 mongodb 服务器 VM 中创建一个 SSH 隧道,并通过此隧道连接 mongodb 服务器。您可以参考 https://azure.microsoft.com/en-us/blog/create-your-own-dedicated-mysql-server-for-your-azure-websites/.

中的类似场景

在虚拟机中安装 mongodb 后,请尝试执行以下命令,最终在我这边运行良好:

  • sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 27017 -j ACCEPT
  • sudo netstat -anltp|grep :27017
  • sudo ssh -fNg -L 27017:127.0.0.1:27018 azurevmuser@servername
  • 在 Azure 管理门户中的 VM 仪表板中为端口 27018 创建端点

然后您可以通过以下代码连接到mongodb:

 var mongoose = require('mongoose');
    mongoose.connect('mongodb://<your_server_vm>.cloudapp.net:27018/test');
    var db = mongoose.connection;
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function() {
     console.log("we're connected!")
    });

事实证明,Azure 当天出现了服务器问题 (!)。您可以在此处阅读更新:

https://azure.microsoft.com/en-gb/status/

此外,我使用 Azure 机器 URL 连接到 mongo,当您创建新机器时由 Azure 生成,而不是 IP,我认为这是出于安全原因。

所以我使用了:nameofmymachine.cloudapp.net:27017 并在 SSH 隧道选项卡下添加了详细信息(当然会使用 IP)以确保完整性。