このページでは、Atlas Data Federation がサポートする MongoDB集計パイプラインステージと演算子について説明します。
注意
デフォルトでは、Atlas Data Federation は、S3 データストアの Data Federation に対するクエリについて、特定の順序でドキュメントを返しません。Atlas Data Federation はパーティションを同時に読み取り込みます。そして、クエリで $sort を使用して順序を定義しない限り、基礎のストレージの応答順序によって、Atlas Data Federation がどのドキュメントを先に返すかが決まります。例えば、同じ findOne() クエリを 2 回実行すると、異なるドキュメントが表示される可能性があります。また、$skip を使用する場合、クエリで $sort が使用されていない場合、異なるドキュメントがスキップされる可能性があります。
サポートされている集計パイプライン ステージとサポートされていない集計パイプライン ステージ
Atlas Data Federation は、以下を除くすべての 集計パイプライン ステージ をサポートしています。
Atlas Data Federation クエリの次のステージでは、Atlas Data Federation は、 の代替構文を導入し、 警告を含む、 またはサーバーから の偏差を提供します。 詳細については、「説明」列を参照してください。
パイプラインステージ | 説明 |
|---|---|
入力ドキュメントを指定された たとえば、以下はサポートされていません。 | |
同じデータベース内のコレクションへの左外部結合を実行します。Atlas Data Federation では、異なるデータベースのコレクションを結合するための構文も提供します。詳細については、 | |
集計パイプラインの結果を指定されたコレクションに書込みます。Atlas Data Federation は、Atlas クラスターへの書込みを許可するために必須の | |
入力から指定した数のドキュメントをランダムに選択します。 Atlas Data Federation は | |
ステージに渡される指定された数の ドキュメント をスキップし、残りのドキュメントを パイプライン の次のステージに渡します。 Atlas Data Federationは |
サポートされている集計パイプライン演算子
Atlas Data Federation は、すべての集計パイプライン演算子をサポートしています。ただし、一部の演算子は、Atlas クラスター データストアにマップされているコレクションに対するクエリでのみ使用できます。地理空間クエリ演算子は、このようなクエリでのみ使用できます。次の評価クエリ演算子も、Atlas クラスター データ ストアにマップされたコレクションに対するクエリに制限されます。
パイプラインステージ | 説明 |
|---|---|
指定した点に近いものから遠いものの順にドキュメントを出力します。Atlas Data Federation は、1 つ以上の Atlas コレクションにマッピングされているバーチャル コレクションに対するクエリで 詳細については、「 Atlas クラスターでのデータのクエリ」を参照してください。 | |
コレクションに対して再帰的な検索を実行します。 Atlas Data Federation は、1 つの Atlas コレクションのみにマップされている仮想コレクションに対するクエリで
詳細については、「 Atlas クラスターでのデータのクエリ」を参照してください。 | |
MongoDB Searchインデックスによってカバーされるフィールドのコンテンツに対して全文検索を実行します。 | |
テキストインデックス でインデックス付けされたフィールドの内容に対してテキスト検索を実行します。 | |
JavaScript 式を含む string または完全な JavaScript 関数をクエリ システムに渡します。 |
注意
Atlas Data Federation にはサーバーサイド JavaScript エンジンが含まれていません。したがって、Atlas Data Federation は、サーバーサイドスクリプトを有効にする必要がある 、$where $function、$accumulator などの演算子をサポートしません。