AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

チャート結果のフィルタリング

フィルターは、指定された条件に一致する結果のサブセットを表示します。 Atlas Charts では、単一のグラフのデータをフィルタリングする 2 つの方法が提供されています。 次のいずれかを使用できます。

  • フィルター タブの数値、string、日付、またはブール値フィールドは、データ フィルタリング ニーズのほとんどを処理します。

  • 論理演算子クエリなどのより複雑なクエリを使用してデータをフィルタリングするか、 集計パイプラインを使用して未加工データを処理するには、クエリ バーを使用します。

ダッシュボード上の複数のチャートで結果をフィルタリングする方法については、「フィールド値でダッシュボードをフィルタリング 」を参照してください。

チャートビルダには、フィールドをドラッグして削除してデータのフィルターを指定できるフィルタータブが含まれています。 フィルター タブを使用してデータをフィルタリングするには、次の手順に従います。

  1. チャートビルダの中央タブをクリックします。

    フィルター タブにアクセスする方法を示す画像
  2. 左側のFieldsからフィールドをタブのChart Filtersセクションにドラッグします。

選択したフィールドのデータ型、使用可能なフィルタリング オプションが決まります。使用可能なフィルター オプションを表示するには、フィールドタイプと、該当する場合は日付フィルタータイプを選択します。

注意

複数のフィルターで同じフィールドを使用することはできません。

Filterタブでフィルターを有効または無効にするかを切り替えることができます。 フィルターを無効にしても、チャートに表示されるドキュメントには影響しません。 無効にされたフィルターはグレー表示され、有効になるまで編集することはできません。

フィルターが有効かどうかを切り替えるには、フィルターにカーソルを合わせ、フィルターの上部に表示されるトグルを 設定に設定します。

フィルターの切り替えを示す画像
クリックして拡大します

チャートフィルター カードで [ ShowまたはHideをクリックすると、チャートフィルター カードを展開または折りたたむことができます。

無効にされたフィルターは自動的に折りたたまれます。

有効になっていても、折りたたまれたフィルターは引き続きチャートに適用されます。

チャート表示の上のQueryバーは、フィルター パネルよりも複雑なクエリをサポートしています。 さらに、クエリ バーを使用して、データがレンダリングされる前に処理するための集計パイプラインを作成することもできます。

Queryバーを使用してデータをフィルタリングするには:

  1. Query バーにフィルター ドキュメントを入力します。db.collection.find() メソッドのクエリ部分で使用されているのと同じ構文を使用します。フィルター ドキュメントは中括弧で囲む必要があります。

  2. [Apply] をクリックします。

次の例は、さまざまな演算子を使用してクエリを作成する方法を示しています。例を展開してクエリを表示します。

$or 論理演算子を使用して、少なくとも 1 つの 句が true であるドキュメントを一致させます。

次のグラフは、ドキュメントまたはアクション映画のいずれかを作成した監督の数における上位 5 国( Limit Results X Axis有効になり、5 に設定されている)を示しています。

論理演算子クエリの例
クリックして拡大します

このチャートでは、次のクエリを使用します。

{
$or: [
{
genres: "Documentary"
},
{
genres: "Biography"
} ]
}

genres は、各要素が映画のジャンルである配列です。 このフィルターにより、特定の国の監督の総数にドキュメントまたはアクション映画のいずれかを作成した監督のみが含まれるようになります。

$existsクエリ演算子を使用して、要素が存在するドキュメントを照合します。

次のチャートは、 5年ごとの映画の平均メタファー評価を示しています。

クエリ比較の例
クリックして拡大します

このチャートでは、次のクエリを使用します。

{ 'writers.1': { $exists: true }}

writers は、各要素が映画に貢献したライターである配列です。 このフィルターで、2 番目の配列要素が存在することを確認して、少なくとも 2 人の書込み (write) を持つドキュメントのみが平均メタクリティカル評価に考慮されるようにします。

正規式を持つドキュメントを一致させるには、 $regexクエリ演算子を使用します。

正規表現を使用してフィルタリングするには、 $regexクエリ演算子を使用します。

{ <field>: { $regex: "pattern", $options: "<options>" } }

たとえば、 jobsフィールドが文字Aで始まるすべてのドキュメントを検索するには、 Queryバーに次の内容を書き込みます。

{ "jobs" : { $regex : "^A" } }

jobsフィールドが文字Aまたはaで始まるすべてのドキュメントを検索するには、 Queryバーに次の内容を書き込みます。

{ "jobs" : { $regex : "^A", $options : "i" } }

特定の日付を持つドキュメントを一致させるには、 Dateフィールドを使用します。

次のチャートは、事務用品会社の合計売上額を購入方法別に分類したものです。

日付クエリの例
クリックして拡大します

このチャートでは、次のクエリを使用します。

{
$and: [
{
saleDate: { $gte: new Date("2017-01-01") }
},
{
'items.4': { $exists: true }
} ]
}

コレクション内の各ドキュメントは 1 つの販売を表します。 itemsは、各要素が販売中に購入された商品である配列です。

このクエリは、 saleDateJanuary 1, 2017以降で、 items配列内に少なくとも5要素があるドキュメントのみに表示されるドキュメントを制限します。

クエリが無効な場合、Charts はQueryバーの アイコン。

エラーの詳細を表示するには、まだ表示されていない場合はQueryバーをクリックします。 Charts には、次のエラーの詳細が表示されます。

  • 不正な JSON などのクライアント側のエラーや

  • 無効なMQLなど、サーバー側のエラー。

フィルターエラーの例
クリックして拡大します

エラーの詳細を確認し、それに応じてクエリを調整します。