データに対する集計パイプラインの実行
集計パイプラインは、ドキュメントを結果の集計セットに変換します。 Atlas Charts では、集計パイプラインは通常、既存のフィールドの計算結果から作成された新しいフィールドを視覚化するために使用されますが、他の多くのアプリケーションもあります。
集計パイプラインを作成するには、次の手順に従います。
Queryバーに集計パイプラインを入力します。 パイプラインは角括弧で囲む必要があります。
(任意) Formatを選択して、クエリを次のように配置します。
クエリを複数行に分裂する
JSON の規則に従ってクエリをインデントする
(条件付き) Formatオプションを選択した場合は、終了したら [ Close ] をクリックします。
パイプラインを実行するには、 Applyをクリックします。
例
次のチャートは、事務用品会社の総売上額を店舗場所別に分類したものです。 このチャートでは、 Queryバーで次の集計パイプラインを使用します。
[ { $unwind: "$items" }, { $addFields: { saleAmount: { $multiply: [ "$items.price", "$items.quantity" ] } } } ]
この集計パイプラインは、次の順序でコレクション データを処理します。
$unwind
ステージでは、items
配列が展開され、配列内の項目ごとに新しいドキュメントが出力されます。items
配列の各要素には、トランザクション中に販売された 1 つのアイテムが含まれています。$addFields
ステージでは、ドキュメントにsaleAmount
という新しいフィールドが追加されます。$multiply
式は、saleAmount
の値をitems.price
とitems.quantity
の積に設定します。 次のスクリーンショットで、この新しいフィールドが強調表示されています。
パイプラインを使用してデータが処理されると、チャートにはすべてのsaleAmounts
のSumが店舗ロケーション別に分類されて表示されます。
集計パイプライン エラーへの対処
集計が無効な場合、Charts はQueryバーの アイコン。
エラーの詳細を表示するには、まだ表示されていない場合はQueryバーをクリックします。 Charts には、次のエラーの詳細が表示されます。
不正な JSON などのクライアント側のエラーや
無効な MQLやサポートされていないパイプライン ステージなど、サーバー側のエラー。
エラーの詳細を確認し、それに応じて集計パイプラインを調整します。
制限
Charts では集計クエリで
$lookup
演算子をサポートしていません。 ただし、この演算子は Data Source パイプラインで使用できます。 パイプラインを使用してデータがチャート ビルダに送信される前にデータを前処理する方法の詳細については、「 Chartsビューの作成と管理 」を参照してください。Charts
$function
は、関数本体を1行で定義し、double 引用符で囲む場合にのみ 演算子をサポートします。集計クエリでこの演算子を使用するには、次の構文を使用する必要があります。{ $function: { body: "function(arg1, arg2, ...) { ... }", args: <array expression>, lang: "js" } }