2016-06-22 7 views
0

とリモートのMongoDB(私はおそらく制御することはできませんその上)私は別のPC上で実行されているのMongoDBへの流星アプリの私のローカルインスタンスに接続する必要があります。 MONGO_URL="mongodb://192.168.1.xx:27017" meteorのようなものを使って私はそれに接続することができます。しかし、接続する方法はありますか?私はのIPを知らないのですが、毎日変わるかもしれませんか?流星:ローカルネットワークでは、動的IP

要するに
Meteor.startup(() => { 
//Script to find the correct IP 
//Connect my app to that MongoDB instance 
}); 

私はここにしようとしてることはようなものになるだろう動的MONGO_URLを設定するためのいくつかの方法がありますか?

ありがとう

+0

あなたはhttps://mLab.com – Mikhail

+0

@Mikhail私はアプリがローカルネットワークでのみ実行するように意図されていることを言及するのを忘れて使用することができます。これはMeteorをベースにしたデスクトップアプリです。 – Unforgiven

答えて

1

MongoDBサーバーのホスト名を使用します。ローカルDNSサーバーがあり、両方のコンピュータが同じDNSサーバーを使用している場合(どちらのPCでもネットワーク設定をカスタマイズしていない場合がほとんどです)、名前はIPアドレスに解決されます。

(Macの場合またはターミナル)コマンドプロンプトにサーバーのホスト名、種類hostnameを取得します。

また、でもネットワーク経由で制御することなく、あなたは限り、あなたはローカルの管理者権限を持っているようにMongoDBサーバ上の静的IPアドレスを設定することができるかもしれません。それがネットワークの残りの部分と同じネットワーク範囲内にあることを確認してください。ただし、DHCP範囲を明確にしないと、IP競合が発生する可能性があります。

+0

ありがとうございます。しかし、私はMONGO_URL = "mongodb:// SERVER - V1:27017"という流星を試してみます。私は "接続に失敗しました"を取得します。 "SERVER-V1"はPCのホスト名、27017はオープンポートです。 – Unforgiven

+0

完全修飾名が必要な場合があります。 'server-v1.somedomain.local'。これは、ルータがDHCPを割り当てるときに指定することも、コンピュータによって指定することもできます。 – JoGoFo

+0

しようとすることができるのは逆DNSルックアップです。コマンドプロンプトに 'ping -a 192.168.1.xx'と入力すると、DNSサーバーにPTRレコードが問い合わせられ、存在する場合はホスト名が与えられます。これがうまくいかない理由はいくつかありますが、試してみる価値があります – JoGoFo