Docs Menu
Docs Home
/
MongoDB Atlas
/ /

サポートされている集計パイプライン ステージと演算子

このページでは、Atlas Data Federation がサポートする MongoDB 集計パイプラインステージ演算子について説明します。

注意

デフォルトでは、Atlas Data Federation は、 S 3データ ストアの Data Federation に対するクエリに対して、特定の順序でドキュメントを返しません。 Atlas Data Federation はパーティションを同時に読み取り、基礎となるストレージ応答順序によって、Atlas Data Federation が最初に返すドキュメントが決まります。ただし、クエリで $sortを使用して順序を定義している場合を除きます。 たとえば、同じfindOne()クエリを 2 回実行すると、異なるドキュメントが表示されます。また、 $skipを使用すると、クエリで$sortが使用されていない場合、異なるドキュメントがスキップされる可能性があります。

Atlas Data Federation は、以下を除くすべての 集計パイプライン ステージ をサポートしています。

Atlas Data Federation クエリの次のステージでは、Atlas Data Federation は、 の代替構文を導入し、 警告を含む、 またはサーバーから の偏差を提供します。 詳細については、「説明」列を参照してください。

パイプラインステージ
説明

入力ドキュメントを指定された_id式でグループ化し、個別のグループごとにドキュメントを出力します。 Atlas Data Federationは、アキュムレータ フィールドの空のstringキーをサポートしていません。

たとえば、以下はサポートされていません

{
"$group" : {
"_id" : "$representationType",
"" : {
"$sum" : NumberInt(1)
}
}
}
同じデータベース内のコレクションへの左外部結合を実行します。 Atlas Data Federation では、異なるデータベースのコレクションを結合するための構文も提供します。 詳しくは、 $lookupを参照してください。
指定された条件に一致するドキュメントのみを次のパイプライン ステージに渡すようにドキュメントをフィルタリングします。 Atlas Data Federation は$matchをサポートしています。 S3 で特定のファイルを選択するための パーティション属性 は、次の 集計パイプライン演算子 にのみ最適化されています。 $eq $gt $lt $gte $lte $ne 、 $and 、 $or 、 $in 。
集計パイプラインの結果を指定されたコレクションに書き込みます。 Atlas Data Federation は、Atlas クラスターへの書込みを許可するために必須のintoフィールドに代替構文を提供します。 詳しくは、 $mergeを参照してください。

集計パイプラインによって返されたドキュメントを受け取り、指定されたコレクションに書き込みます。 Atlas Data Federation は、 S3および Atlas クラスターに書き込むための代替構文を提供します。

$outを使用して、同じ Atlas クラスター上の別のデータベース内のコレクションに書き込むには、Atlas クラスターが MongoDB バージョン5.0以降である必要があります。

詳しくは $out を参照してください。

入力から指定した数のドキュメントをランダムに選択します。 Atlas Data Federation は$sampleをサポートしていますが、完全にランダムなサンプルを提供するわけではなく、見つけた最初のドキュメントセットを返します。
ステージに渡される指定された数の ドキュメント をスキップし、残りのドキュメントを パイプライン の次のステージに渡します。 Atlas Data Federationは $skip をサポートしていますが、これによりData Federationはクエリに対応するすべてのパーティションにアクセスするため、データスキャンは削減されません。

Atlas Data Federation は、すべての集計パイプライン演算子をサポートしています。 ただし、一部の演算子は、Atlas クラスター データストアにマップされているコレクションに対するクエリでのみ使用できます。 地理空間クエリ演算子は、このようなクエリでのみ使用できます。 次の評価クエリ演算子も、Atlas クラスター データ ストアにマップされたコレクションに対するクエリに制限されます。

パイプラインステージ
説明

指定した点に最も近いものから最も遠いものの順にドキュメントを出力します。 Atlas Data Federation は、1 つ以上の Atlas コレクションにマッピングされている仮想コレクションに対するクエリで$geoNearをサポートしています。 Atlas Data Federation doesn't support $geoNear for S3 or HTTP federated database instance stores.

詳細については、「 Atlas クラスターでのデータのクエリ」を参照してください。

コレクションに対して再帰的な検索を実行します。 Atlas Data Federation は、1 つの Atlas コレクションのみにマップされている仮想コレクションに対するクエリで$graphLookupをサポートします。 Atlas Data Federation は以下の場合、 $graphLookupをサポートしていません。

  • S3またはHTTPストア。

  • 複数の Atlas コレクションにマッピングされている仮想コレクションに対してクエリを実行します。

詳細については、「 Atlas クラスターでのデータのクエリ」を参照してください。

Atlas Search インデックスによってカバーされるフィールドのコンテンツに対して全文検索を実行します。
テキストインデックス でインデックス付けされたフィールドの内容に対してテキスト検索を実行します。
JavaScript 式を含む string または完全な JavaScript 関数をクエリ システムに渡します。

注意

Atlas Data Federation にはサーバー側の JavaScript エンジンが含まれていません。 したがって、Atlas Data Federation は、 $where$function$accumulatorなど、サーバー側のスクリプトを有効にする必要がある演算子をサポートしていません。

戻る

ストレージ構成