定義
db.aggregate()基礎のコレクションを必要としない、指定された管理および診断パイプラインを実行します。 コレクション データの集計については、
db.collection.aggregate()を参照してください。重要
mongosh メソッド
このページでは、
mongoshメソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
aggregateコマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
db.aggregate()メソッドの構文は次のとおりです。
db.aggregate( [ <pipeline> ], { <options> } )
注意
db.aggregate()は、パイプラインステージを配列の要素としてではなく、個別の引数として受け入れることができます。pipeline を配列として指定しない場合、options パラメータを指定できません。
pipelineパラメーターは、実行するステージの配列です。パイプラインは、$currentOp または$listLocalSessions など、 基礎のコレクションを必要としない互換性のあるステージで開始する必要があります。
optionsドキュメントには次のフィールドを含めることができます。
フィールド | タイプ | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ブール値 | 任意。メソッドがパイプライン処理に関する情報を返すかどうかを指定します。 例については、 「 集計パイプライン操作に関する情報の返却」を参照してください。 重要: このオプションは、 マルチドキュメントトランザクション では使用できません。 | ||||||||||
| ブール値 | 任意。一時ファイルへの書込みを有効にします。 プロファイラー ログ メッセージと診断ログ メッセージには、メモリ制限のために集計ステージで一時ファイルにデータが書込まれた場合、 | ||||||||||
| ドキュメント | 任意。カーソルの 初期バッチするサイズを指定します。 フィールドの値は、フィールド | ||||||||||
| non-negative integer | 任意。カーソルに対する情報処理操作の時間制限をミリ秒単位で指定します。 maxTimeMS の値を指定しない場合、操作はタイムアウトしません。 MongoDB は、 | ||||||||||
| ブール値 | 任意。
| ||||||||||
| ドキュメント | 任意。読み取り保証 (read concern) を指定します。
次の読み取り保証レベルが利用できます。
読み取り保証 (read concern) のレベルについて詳しくは、「読み取り保証 (read concern) レベル」を参照してください。
| ||||||||||
| ドキュメント | 任意。 操作に使用する照合を指定します。 照合を指定すると、大文字・小文字やアクセント記号など、文字列を比較するための言語独自のルールを指定できます。 照合オプションの構文は次のとおりです。 照合を指定する場合、 照合が指定されていなくても、コレクションにデフォルトの照合が設定されている場合( コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって文字列が比較されます。 1 つの操作に複数の照合は指定できません。たとえば、フィールドごとに異なる照合を指定できません。また、ソートと検索を一度に実行する場合、検索とソートで別の照合を使用できません。 | ||||||||||
| 文字列またはドキュメント | 任意。集計に使用するインデックス。インデックスは、集計が実行される最初のコレクションまたはビューにあります。 インデックス名、またはインデックス仕様ドキュメントのいずれかによってインデックスを指定します。 重要: は | ||||||||||
| string | 任意。データベースプロファイラ、currentOp、およびログから操作を追跡するのに役立つ任意の文字列を指定できます。 | ||||||||||
| ドキュメント | 任意。または このパラメータを省略すると、 または |
例
パイプライン と $currentOp
次の例えでは、2 つのステージを持つパイプラインを実行します。 最初のステージでは$currentOp操作が実行され、2 番目のステージではその操作の結果がフィルタリングされます。
use admin db.aggregate( [ { $currentOp : { allUsers: true, idleConnections: true } }, { $match : { shard: "shard01" } } ] )