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

时间:2016-09-15 11:09:40

标签: node.js mongodb azure robo3t

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

看了这个之后:How to connect Robomongo to MongoDB

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

编辑:目前IP和端口导致'网络无法访问'。我已经尝试在我的节点应用程序中记录mongodb mongoose连接变​​量,并且使用这些细节也不起作用。

2 个答案:

答案 0 :(得分:0)

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

在VM中安装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!")
    });

答案 1 :(得分:0)

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

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

此外,我使用Azure计算机URL连接到mongo,这是由Azure在创建新计算机时生成的,而不是IP,我想这是出于安全原因。

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