メインコンテンツへスキップ

はじめに

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通りのクエリメソッド、 Find Aggregate が利用できます。

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

{ "_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以上のドキュメントを渡しています。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コレクションからデータを取得し、カスタマイズされたレポートを作成することができます。