2016-09-15 23 views
0

私のアプリでは、MongoDBに接続するためにmongooseを持つノードを使用しています。 MongoDBインスタンスはAzureにあります。私は上記を必要としているので、データベースに直接接続することができます。Azure MongoDBへのRobomongo接続設定の接続文字列を見つける

それを行うには、このを見た後:How to connect Robomongo to MongoDB

私はこれを行うには、クライアントのためにRobomongoを使用しています。どのように接続文字列を見つけるのですか?

EDIT:現在、IPとポートは「ネットワーク到達不能」になります。私は、ノードのアプリケーションでmongodb mongoose接続変数をロギングしようとしましたが、これらの詳細を使用してもどちらかの作業はできません。

+0

あなたは何を意味するのかよく分かりません。どこでMongoDBをホスト(またはインストール)しましたか?そこから接続文字列を取得し、robomongoで使用する必要があります。 –

+0

編集された質問、紺碧の中にその設定 – lxm7

+0

あなたは設定で外部アクセス用にMongoDBを設定しましたか?また、インバウンドセキュリティルール(またはエンドポイント、従来のVM経由で行われた)を介してポートをオープンしましたか? –

答えて

0

それは、Azureのは、その日のサーバーの問題を抱えていたが判明しました(!)。あなたはここに更新情報を読むことができます:

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

はまた、私はあなたが私はセキュリティ上の理由であると想像新しいマシンではなく、IPを作成するときのAzureによって生成され、モンゴに接続するAzureのマシンのURLを使用しました。

私はnameofmymachine.cloudapp.net:27017を使用し、完全性のためにSSHトンネルタブ(もちろんIPを使用します)の下に詳細を追加しました。

0

mongodbサーバVMでSSHトンネルを作成し、このトンネル経由でmongodbサーバに接続することができます。同様のシナリオをhttps://azure.microsoft.com/en-us/blog/create-your-own-dedicated-mysql-server-for-your-azure-websites/で参照できます。

  • 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 [email protected]
  • がためのエンドポイントを作成します。

    VMでのMongoDBをインストールした後、最後に私の側に正常に動作し、次のコマンドにしてみてくださいポート27018は、Azure管理ポータルのVMのダッシュボードにあります。

その後、次のコードを経由しての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!") 
    }); 
関連する問題