メインコンテンツまでスキップ
waffle.svg
Domo Knowledge Base

MongoDBコネクター

Version 5

 

はじめに

MongoDBは、構造的データを動的スキーマを持ったJSONに似たドキュメントとして保管する、オープンソースのドキュメント指向データベースシステムです。Domoが提供するコネクターを使用すると、MongoDBコレクションからデータを取得し、カスタマイズされたレポートを作成することができます。 

  • MongoDBコネクターは、Javaドライバーバージョン3.2.1を使用して、「検索と集計」クエリメソッドをサポートします。MongoDBコネクターにコレクション名を手動で入力する必要があります。
  • MongoDBコネクターは、Javaドライバーバージョン3.2.1を使用して、プレーンJSONクエリをサポートします。MongoDB Advancedコネクターにコレクション名を手動で入力する必要があります。
  • MongoDB V2コネクターは、Javaドライバーバージョン3.12.1を使用して、「検索と集計」クエリメソッドをサポートします。 ドロップダウンからコレクション名を選択することも、MongoDB V2コネクターに手動で入力することもできます。また、MongoDB V2コネクターはCA証明書を必要としません。
  • MongoDB SSHコネクターは、Javaドライバーバージョン3.12.1を使用して、「検索と集計」クエリメソッドをサポートします。ドロップダウンからコレクション名を選択することも、MongoDB SSHコネクターに手動で入力することもできます。SSHトンネルを使用してMongoDBコレクションからデータを取得するには、SSH資格情報(ホスト、ポート、ユーザー名、パスワード)が必要です。

この記事ではMongoDBコネクターについて説明します。DomoのMongoDBコネクターを使用すると、MongoDBコレクションからデータを取得し、カスタマイズされたレポートを作成することができます。データは、JSONクエリを入力して指定します。 MongoDB APIの詳細については、 http://api.mongodb.org/を参照してください。

MongoDBコネクターは「データベース」コネクターです。つまり、クエリを使用してデータベースからデータを取得します。Data Centerでは、ウィンドウ上部のツールバーで[データベース]をクリックすることで、これを含む他のデータベースコネクターのページにアクセスできます。

このトピックでは、MongoDBコネクターユーザーインターフェースに固有のフィールドとメニューについて説明します。 DataSetの追加、更新スケジュールの設定およびDataSet情報の編集に関する一般的な情報は、「 データコネクターを使用してDataSetを追加する」を参照してください。

重要:このコネクターが機能するためにはSSL接続が必要です。 

必要条件

 MongoDBコレクションに接続しDataSetを作成するには、以下が必要です。

  •  MongoDBデータベースのログインに使用するユーザー名とパスワード

  • データベースサーバーのホスト名(例: db.company.com)。

  • データベースのポート番号

  • データベース名

  • 接続先のコレクション名

  • CA証明書テキストまたは URL パスは、 [証明書 文字列] または [URLパス] を それぞれ [証明書 書式] メニューで選択した時 のみ 必要になります。

  • SSL接続

MongoDBデータベースに接続する前に、データベースサーバーの接続ポートでIPアドレスをいくつかホワイトリストに登録する必要があります。IPアドレスの詳細なリストは、「 コネクターのIPアドレスをホワイトリスト化する」を参照してください。

  MongoDBコレクションに接続する

このセクションでは、[ MongoDB コネクター]ページの [認証情報] および [詳細] ペインのオプションについて説明します。このページ内のほかのペインに含まれるコンポーネントである[スケジュール設定][DataSetに名前を付けて説明を入力]に関しては、ほとんどのタイプのコネクターで共通しています。詳細については「データコネクターを使用してDataSetを追加する」を参照してください。

[認証情報]ペイン

このペインには、MongoDBデータベース内のコレクションに接続する認証情報の入力フィールドが含まれています。下表では、各フィールドに必要な内容を説明しています。 

フィールド

説明

ホスト

MongoDBデータベースのホスト名を入力します。例: db.company.com

データベース名

 MongoDBデータベース名を入力します。

コレクション 

接続先のコレクション名を入力します。 

ユーザー名

 MongoDBのユーザー名を入力します。

パスワード

 MongoDBのパスワードを入力します。

データベースポート

MongoDBデータベースのポート番号を入力します。

証明書書式

証明書書式を選択します。証明書を含めない場合は、[証明書なし]を選択します。[証明書文字列]を選択する場合は、証明書用テキストを[証明書]フィールドに貼り付ける必要があります。[URLパス]を選択する場合は、証明書がある場所のURLを[証明書]フィールドに入力します。   

証明書

CA証明書用テキストを貼り付けるか、証明書がある場所のURLを入力します。これは任意です。証明書を含めない場合は、[証明書書式]メニューで[証明書なし]を選択します。

有効な MongoDB認証情報を入力した後は、いつでもDomoで同じアカウントを使用して、MongoDB DataSetを作成することができます。コネクターアカウントは、Data Center[アカウント]タブで管理することができす。このタブの詳細については、「コネクターのユーザーアカウントを管理する」を参照してください。

[詳細] ペイン

このペインでは、JSONクエリを作成して、MongoDBコレクションからデータを取得します。また、オプションで WHERE、 SELECT、 GROUP、 SORT 節もJSONフォーマットで作成することができます。

メニュー

説明

JSONクエリ

必要なデータを選択するのに使用する JSONクエリを入力します。2通りのクエリメソッド、FindAggregateが利用できます。

例えば、以下のデータを格納したコレクションがあると仮定します。

{ "_id" : 1, "subject" : "History", "score" : 88 },
{ "_id" : 2, "subject" : "History", "score" : 92 },
{ "_id" : 3, "subject" : "History", "score" : 97 },
{ "_id" : 4, "subject" : "History", "score" : 71 },
{ "_id" : 5, "subject" : "History", "score" : 79 },
{ "_id" : 6, "subject" : "History", "score" : 83 }

 

Find: Findメソッドを使用して、このコレクションから「subject」が「History」と等しいすべてのドキュメントを選択できます。このクエリは、次の形式となります。

{ subject: "History" }

Aggregate: Aggregateメソッドを使用するには、クエリは次のようになります。

[
   {
      $match: {
        score: {
          $gt: 80
        }
      }
    },
    {
      $count: "passing_scores"
    }
  ]

 

この例では、 $matchステージが、スコア値が80以下のドキュメントを除外して、次のステージへスコア値が80以上のドキュメントを渡しています。 $countステージは、集計パイプラインにある残りのドキュメントのカウントを返し、「passing_scores」という名前のフィールドに値を割り当てます。

Where節 JSON

JSONフォーマットでWHERE節を入力します。

Select節 JSON

JSON フォーマットでSELECT節を入力します。

Group節 JSON

JSONフォーマットでGROUP節を入力します。

Sort節 JSON 

JSONフォーマットで SORT節を入力します。 

その他のペイン

スケジュール設定、再試行、オプションの更新など、このページにないセクションに記載のコネクターインターフェースについては、「  データコネクターを使用してDataSetを追加する」を参照してください。


DomoのMongoDBコネクターを使用すると、JSONクエリを使用してMongoDBコレクションからデータを取得し、カスタマイズされたレポートを作成することができます。