sql >> データベース >  >> NoSQL >> MongoDB

2つのOpenshiftアプリからMongoDBデータベースにどのようにアクセスしますか?

    2018アップデート:これはOpenshift 2に適用されます。バージョン3は大きく異なりますが、Linuxとスケーリングの一般的なルールが適用され、詳細は廃止されました。

    @MartinBの回答はタイムリーで正しかったのですが、これは単なるリンクなので、ここに必需品を入れておきましょう。

    非共有DBのセットアップがすでに完了していると仮定すると、そのホストとポートを見つける必要があります。 sshできます アプリ(DBを含むアプリ)に追加するか、rhcを使用します :

    rhc ssh -a appwithdb
    env | grep MONGODB 
    

    env すべての環境変数を取得し、grepはそれらをフィルタリングして、Mongo関連の変数のみを表示します。次のように表示されます:

    OPENSHIFT_MONGODB_DB_HOST=xxxxx-yyyyy.apps.osecloud.com
    OPENSHIFT_MONGODB_DB_PORT=zzzzz
    
    xxxxx is the ID of the gear that Mongo sits on
    yyyyy is your domain/namespace
    zzzzz is MongoDB port
    

    これで、これらを使用して、Openshift環境のどこからでもDBへの接続を作成できます。別のアプリケーションは、xxxxx-yyyyy:zzzzzURLを使用する必要があります。それらをカスタム変数に保存して、メンテナンスを容易にすることができます。

    $ rhc env-set \
    MYOWN_DB_HOST=xxxxx-yyyyy \
    MYOWN_DB_PORT=zzzzz \
    MYOWN_DB_PASSWORD=****** \
    MYOWN_DB_USERNAME=admin..... \
    MYOWN_DB_NAME=dbname...
    

    次に、標準変数の代わりに環境変数を使用します。 DBが移動しても自動的に更新されないことを覚えておいてください。



    1. MongoDB C#を使用したプライベートバッキングフィールドのマッピング

    2. RailsにYAML構成ファイルをロードするときにエラーが発生しました

    3. Meteorは、MongoInternals.RemoteCollectionDriverを使用してリモートmongodbインスタンスを認識します

    4. ネストされたdictまたはPythonでdictに含まれる配列に対してmongoengineでこのようなフィルタークエリを実行するにはどうすればよいですか?