> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MongoDBコネクター

# はじめに

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/](http://api.mongodb.org/) を参照してください。

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

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

<Warning>
  **重要：** このコネクターが機能するためにはSSL接続が必要です。
</Warning>

## 必要条件

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

* MongoDBデータベースのログインに使用するユーザー名とパスワード
* データベースサーバーのホスト名（例：[db.company.com](http://db.company.com) ）。
* データベースのポート番号
* データベース名
* 接続先のコレクション名
* CA証明書テキストまたは URL パスは、**［証明書 文字列］** または **［URLパス］** を それぞれ **［証明書 書式］** メニューで選択した時 *のみ* 必要になります。
* SSL接続

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

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

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

### ［認証情報］ペイン

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

<table><thead><tr><th> フィールド </th><th> 説明 </th></tr></thead><tbody><tr><td> ホスト </td><td> MongoDBデータベースのホスト名を入力します。例： <span class="mt-font-courier-new"><a href="http://db.company.com" rel="noopener" target="_blank"> db.company.com </a></span></td></tr><tr><td> データベース名 </td><td> MongoDBデータベース名を入力します。 </td></tr><tr><td> コレクション </td><td> 接続先のコレクション名を入力します。 </td></tr><tr><td> ユーザー名 </td><td> MongoDBのユーザー名を入力します。 </td></tr><tr><td> パスワード </td><td> MongoDBのパスワードを入力します。 </td></tr><tr><td> データベースポート </td><td> MongoDBデータベースのポート番号を入力します。 </td></tr><tr><td> 証明書書式 </td><td> 証明書書式を選択します。証明書を含めない場合は、 <b> ［証明書なし］ </b> を選択します。 <b> ［証明書文字列］ </b> を選択する場合は、証明書用テキストを <b> ［証明書］ </b> フィールドに貼り付ける必要があります。 <b> ［URLパス］ </b> を選択する場合は、証明書がある場所のURLを <b> ［証明書］ </b> フィールドに入力します。 </td></tr><tr><td> 証明書 </td><td> CA証明書用テキストを貼り付けるか、証明書がある場所のURLを入力します。これは任意です。証明書を含めない場合は、 <b> ［証明書書式］ </b> メニューで <b> ［証明書なし］ </b> を選択します。 </td></tr></tbody></table>

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

### ［詳細］ ペイン

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

<table border="1" cellpadding="1" cellspacing="1" data-aura-rendered-by="33:195;a">
  <thead>
    <tr>
      <th colspan="1" rowspan="1">
        <p> フィールド </p>
      </th>

      <th colspan="1" rowspan="1">
        <p> 説明 </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td colspan="1" rowspan="1">
        <p> JSONクエリ </p>
      </td>

      <td colspan="1" rowspan="1">
        <p> 必要なデータを選択するのに使用する JSONクエリを入力します。2通りのクエリメソッド、 <span class="mt-font-courier-new"> Find </span> と <span class="mt-font-courier-new"> Aggregate </span> が利用できます。 <br />
        <br /> 例えば、以下のデータを格納したコレクションがあると仮定します。 </p>

        <p>
          ```json theme={"dark"}
          { "_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 }
          ```

          <br />
        </p>

        <p>
          <b> Find： </b><span class="mt-font-courier-new"> Find </span> メソッドを使用して、このコレクションから「subject」が「History」と等しいすべてのドキュメントを選択できます。このクエリは、次の形式となります。
        </p>

        <p>
          ```JSON theme={"dark"}

          { "subject": "History" }
          ```
        </p>

        <p>
          <b> Aggregate： </b><span class="mt-font-courier-new"> Aggregate </span> メソッドを使用するには、クエリは次のようになります。
        </p>

        <p>
          ```
          [
            {
              $match: {
                score: {
                  $gt: 80
                }
              }
            },
            {
              $count: "passing_scores"
            }
          ]
          ```

          <br />
        </p>

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

    <tr>
      <td colspan="1" rowspan="1">
        <p> Where節 JSON </p>
      </td>

      <td colspan="1" rowspan="1">
        <p> JSONフォーマットで <span class="mt-font-courier-new"> WHERE </span> 節を入力します。 </p>
      </td>
    </tr>

    <tr>
      <td colspan="1" rowspan="1">
        <p> Select節 JSON </p>
      </td>

      <td colspan="1" rowspan="1">
        <p> JSON フォーマットで <span class="mt-font-courier-new"> SELECT </span> 節を入力します。 </p>
      </td>
    </tr>

    <tr>
      <td colspan="1" rowspan="1">
        <p> Group節 JSON </p>
      </td>

      <td colspan="1" rowspan="1">
        <p> JSONフォーマットで <span class="mt-font-courier-new"> GROUP </span> 節を入力します。 </p>
      </td>
    </tr>

    <tr>
      <td colspan="1" rowspan="1">
        <p> Sort節 JSON </p>
      </td>

      <td colspan="1" rowspan="1">
        <p> JSONフォーマットで <span class="mt-font-courier-new"> SORT </span> 節を入力します。 </p>
      </td>
    </tr>
  </tbody>
</table>

### その他のペイン

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

***

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