集計パイプライン クイック リファレンス
注意
構文や例など、特定の演算子の詳細については、演算子のリファレンスページへのリンクをクリックしてください
ステージ
ステージ(db.collection.aggregate
)
db.collection.aggregate()
メソッドでは、 パイプライン ステージが配列に表示されます。 ドキュメントは、ステージを順番に通過します。 $out
、 $merge
、 $geoNear
ステージを除くすべてのステージは、パイプライン内で複数回使用できます。
db.collection.aggregate( [ { <stage> }, ... ] )
ステージ | 説明 |
---|---|
ドキュメントに新しいフィールドを追加します。 | |
受信ドキュメントを、指定された式とバケット境界に基づいて、バケットと呼ばれるグループに分類します。 | |
指定された式に基づいて、受信したドキュメントをバケットと呼ばれる特定の数のグループに分類します。指定された数のバケットにドキュメントを均等に分散するために、バケット境界が自動的に決定されます。 | |
コレクションの変更ストリームカーソルを返します。このステージは集計パイプラインで 1 回のみ発生し、第 1 ステージとして実行する必要があります。 | |
16 MB を超える大きな変更ストリームイベントを、変更ストリーム カーソルで返される小さなフラグメントに分割します。
| |
コレクションまたはビューに関する統計情報を返します。 | |
集計パイプラインのこの段階でのドキュメントの数を返します。
| |
フィールド内の特定の値が欠落しているドキュメントのシーケンス内に新しいドキュメントを作成します。 | |
入力式からリテラル ドキュメントを返します。 | |
同じ入力ドキュメントセット上の単一ステージ内の複数の集計パイプラインを処理します。複数のディメンションまたはファセットにわたるデータを1つの段階で特徴付けることができる多面的な集計を作成できます。 | |
ドキュメント内の | |
コレクションに対して再帰的な検索を実行します。各出力ドキュメントに、そのドキュメントの再帰検索のトラバーサル結果を含む新しい配列フィールドを追加します。 | |
入力ドキュメントを指定された識別子式でグループ化し、アキュムレータ式(指定されている場合)を各グループに適用します。すべての入力ドキュメントを消費し、各グループごとに 1 つのドキュメントを出力します。出力ドキュメントには、ID フィールドと、指定されている場合は累積フィールドのみが含まれます。 | |
コレクションの各インデックスの使用に関する統計を返します。 | |
変更されていない最初の n 個のドキュメントをパイプラインに渡します。n は指定された制限です。入力ドキュメントごとに、1 件のドキュメント(最初の n 個のドキュメント)または 0 件のドキュメント(最初の n 個のドキュメントの後)を出力します。 | |
指定されたコレクションの既存のAtlas Search インデックスに関する情報を返します。 | |
system.sessions コレクションに伝達されるまで十分な長さにわたってアクティブであったすべてのセッションを一覧表示します。 | |
同じデータベース内の別のコレクションへの左外部結合を実行して、"join" コレクションのドキュメントをフィルタリングして処理します。 | |
ドキュメントストリームをフィルタリングして、一致するドキュメントのみが変更されずに次のパイプラインステージに渡されるようにします。 $match 標準の MongoDB クエリを使用します。入力ドキュメントごとに、1 件のドキュメント(一致)または 0 件のドキュメント(一致なし)を出力します。 | |
集約パイプラインの結果ドキュメントをコレクションに書き込みます。ステージは(新しいドキュメントの挿入、ドキュメントのマージ、ドキュメントの置換、既存のドキュメントの保持、操作の失敗、カスタムアップデートパイプラインによるドキュメントの処理)の結果を出力コレクションに組み込むことができます。 $merge ステージを使用するには、パイプラインの最後のステージである必要があります。 | |
集約パイプラインの結果ドキュメントをコレクションに書き込みます。 $out ステージを使用するには、パイプラインの最後のステージである必要があります。 | |
コレクションのプラン キャッシュ情報を返します。 | |
新しいフィールドを追加したり、既存のフィールドを削除したりして、ストリーム内の各ドキュメントを再構築します。入力ドキュメント 1 件ごとに、1つのドキュメントを出力します。 既存のフィールドを削除するには、 | |
記録されたクエリの実行時間統計を返します。 警告: | |
指定された埋め込みドキュメントでドキュメントを置き換えます。この操作により、
| |
指定された埋め込みドキュメントでドキュメントを置き換えます。この操作により、
| |
入力から指定した数のドキュメントをランダムに選択します。 | |
Atlasコレクション内のフィールドの全文検索を実行します。
| |
Atlas コレクションに対する Atlas 検索 クエリの結果として、さまざまなタイプのメタデータ結果ドキュメントを返します。
| |
ドキュメントに新しいフィールドを追加します。
| |
ドキュメントをウィンドウにグループ化し、各ウィンドウのドキュメントに 1 つまたは複数のオペレーターを適用します。 バージョン 5.0 で追加 | |
最初の n 個のドキュメント( n は指定されたスキップ番号)をスキップし、残りのドキュメントは変更されずにパイプラインに渡されます。入力ドキュメントごとに、1 件のドキュメント(最初の n 個のドキュメント)または 0 件のドキュメント(最初の n 個のドキュメントの後)を出力します。 | |
指定されたソートキーでドキュメント ストリームを並べ替えます。順序のみが変更されます。ドキュメントは変更されません。入力ドキュメント 1 件ごとに、1つのドキュメントを出力します。 | |
指定された式の値に基づいて受信ドキュメントをグループ化し、個別のグループごとにドキュメントの数を計算します。 | |
2 つのコレクションの和集合を実行します。つまり、2つのコレクションのパイプライン結果を1つの結果セットに結合します。 | |
入力ドキュメントから配列フィールドを分解して、各要素のドキュメントを出力します。各出力ドキュメントは、配列を要素の値で置き換えます。入力ドキュメントごとに n 個のドキュメントを出力します。n は配列要素の数で、空の配列の場合は 0 になる場合もあります。 | |
Atlasコレクションの指定されたフィールド内のベクトル ANN または ENN 検索を実行します。 バージョン 6.0.11 の新機能。 注意
バージョン 7.0.2 の新機能。 |
ステージ(db.aggregate
)
MongoDB バージョン 3.6 以降では、 db.aggregate()
メソッドも提供されています。
db.aggregate( [ { <stage> }, ... ] )
次のステージでは、db.aggregate()
メソッドではなくdb.collection.aggregate()
メソッドを使用します。
ステージ | 説明 |
---|---|
コレクションの変更ストリームカーソルを返します。このステージは集計パイプラインで 1 回のみ発生し、第 1 ステージとして実行する必要があります。 | |
MongoDB 配置のアクティブな操作および休止中の操作に関する情報を返します。 | |
入力値からリテラル ドキュメントを返します。 |
アップデート可能なステージ
MongoDB 4.2 以降では、次の更新に集計パイプラインを使用できます。
コマンド | mongosh メソッド |
---|---|
更新の場合、パイプラインは以下のステージで構成されます。
$addFields
およびそのエイリアス$set
$replaceRoot
とそのエイリアス$replaceWith
。
式
式には、フィールド パス、リテラル、システム変数、式オブジェクト、式演算子を含めることができます。 式はネストできます。
フィールドパス
集計式はフィールドパスを使用して、入力ドキュメント内のフィールドにアクセスします。フィールドパスを指定するには、フィールド名またはドット表記のフィールド名(埋め込みドキュメント内のフィールドの場合)の前にドル記号 $
を付けます。たとえば、user
フィールドのフィールドパスは "$user"
と指定し、"user.name"
フィールドへのフィールドパスは "$user.name"
と指定します。
"$<field>"
は "$$CURRENT.<field>"
と同等であり、CURRENT
は、特定のステージで別途明示される場合を除き、現在のオブジェクトのルートにデフォルト設定されるシステム変数です。
集計変数
MongoDB は、 式で使用するためのさまざまな 集計システム変数を提供します。 変数にアクセスするには、変数名の前に$$
を付けます。 例:
変数 | 経由でアクセス $$ | 簡単な説明 |
---|---|---|
$$NOW | 配置のすべてのノードで同じであり、集計パイプライン全体で一定である現在の日時値を返します。 (4.2 以降で利用可能) | |
$$CLUSTER_TIME | 配置のすべてのノードで同じであり、集計パイプライン全体で一定である現在のタイムスタンプ値を返します。 レプリカセットとシャーディングされたクラスターのみ。 (4.2 以降で利用可能) | |
$$ROOT | ルート ドキュメント、つまり最上位ドキュメントを参照します。 | |
$$CURRENT | フィールドパスの先頭を参照します。デフォルトでは ROOT 変更できます。 | |
$$REMOVE | フィールドを条件付きで除外できます。 (3.6 以上で利用可能) | |
$$DESCEND | $redact 式の許可された結果の 1 つ。 | |
$$PRUNE | $redact 式の許可された結果の 1 つ。 | |
$$KEEP | $redact 式の許可された結果の 1 つ。 |
これらの変数の詳細については、「システム変数 」を参照してください。
リテラル
リテラルは任意のタイプにすることができます。 ただし、MongoDB は、ドル記号$
で始まる string リテラルを、プロジェクション フラグとして式オブジェクト内のフィールドと数値またはブール値のリテラルへのパスとして解析します。 リテラルの解析を回避するには、 $literal
式を使用します。
式オブジェクト
式オブジェクトの形式は次のとおりです。
{ <field1>: <expression1>, ... }
式が数値またはブール値のリテラルの場合、MongoDB はリテラルをプロジェクション フラグとして扱い(例: 1
またはtrue
を使用して フィールドを含める)は、 $project
ステージでのみ有効です。 数値またはブール値のリテラルをプロジェクション フラグとして扱わないようにするには、 $literal
式を使用して数値またはブール値のリテラルをラップします。
演算子式
演算子式は、引数を取る関数と似ています。一般的に、これらの式は引数の配列をとり、次のような形式になります。
{ <operator>: [ <argument1>, <argument2> ... ] }
演算子が引数を 1 つだけ受け入れる場合は、引数リストを指定する外側の配列を省略できます。
{ <operator>: <argument> }
引数がリテラル配列の場合の解析のあいまいさを避けるには、リテラル配列を $literal
式でラップするか、引数リストを指定する外側の配列を保持する必要があります。
算術式演算子
算術式は、数値に対して数学演算を実行します。一部の算術式では、日付の算術演算もサポートできます。
名前 | 説明 |
---|---|
数値の絶対値を返します。 | |
数値を加算して合計を返すか、数値と日付を加算して新しい日付を返します。数値と日付を加算する場合は、数値をミリ秒として扱います。任意の数の引数式を受け入れますが、日付に解決できる式は最大で 1 つだけです。 | |
指定した数値以上の最小の整数を返します。 | |
最初の数値を 2 番目の数値で除算した結果を返します。2 つの引数式を受け入れます。 | |
e を指定された指数に上げます。 | |
指定した数値以下の最大の整数を返します。 | |
数値の自然対数を計算します。 | |
指定した基数の数値のログを計算します。 | |
数値の対数基数 10 を計算します。 | |
最初の数値の余りを 2 番目の数値で割った値を返します。2 つの引数式を受け入れます。 | |
数値を乗算して積を返します。任意の数の引数式を受け入れます。 | |
指定した指数まで数値を上げます。 | |
数値を整数または指定された小数点以下の桁に丸めます。 | |
平方根を計算します。 | |
最初の値から 2 番目の値を減算した結果を返します。2 つの値が数値の場合は、差を返します。2 つの値が日付の場合は、ミリ秒単位で差を返します。2 つの値が日付とミリ秒単位の数値の場合、結果の日付を返します。2 つの引数式を受け入れます。2 つの値が日付と数値の場合、数値から日付を減算しても意味がないため、最初に日付引数を指定します。 | |
数値を整数または指定された小数点以下の桁に切り捨てます。 |
配列式演算子
名前 | 説明 |
---|---|
指定された配列インデックスの要素を返します。 | |
キーと値のペアの配列をドキュメントに変換します。 | |
配列を連結して、連結された配列を返します。 | |
配列のサブセットを選択して、フィルター条件に一致する要素のみを含む配列を返します。 | |
最初の配列要素を返します。 $first アキュムレータとは異なります。 | |
配列の先頭から指定した数の要素を返します。 $firstN アキュムレータとは異なります。 | |
指定した値が配列内にあるかどうかをブール値で返します。 | |
配列内で指定された値の出現を検索し、最初に出現した位置の配列インデックスを返します。部分文字列が見つからない場合は、 -1 を返します。 | |
オペランドが配列であるかどうかを判断します。ブール値を返します。 | |
最後の配列要素を返します。 $last アキュムレータとは異なります。 | |
配列の末尾から指定した数の要素を返します。 $lastN アキュムレータとは異なります。 | |
配列の各要素に部分式を適用し、結果の値の配列を順番に返します。名前付きパラメータを受け入れます。 | |
配列内の n 個の最大値を返します。$maxN アキュムレータとは異なります。 | |
配列内の n 個の最小値を返します。$minN アキュムレータとは異なります。 | |
ドキュメントを、キーと値のペアを表すドキュメントの配列に変換します。 | |
ユーザー定義の入力に従って、整数のシーケンスを含む配列を出力します。 | |
配列内の各要素に式を適用し、それらを 1 つの値に結合します。 | |
要素を逆の順序の配列を返します。 | |
配列内の要素の数を返します。引数として 1 つの式を受け入れます。 | |
配列のサブセットを返します。 | |
配列の要素をソートします。 | |
2 つの配列を結合します。 |
ブール式演算子
ブール式は引数式をブール値として評価し、結果としてブール値を返します。
ブール式は、 false
ブール値に加えて、次のnull
、 0
、およびundefined
値をfalse
として評価します。ブール式は、ゼロ以外の数値と配列を含む他のすべての値をtrue
として評価します。
比較式演算子
比較式はブール値を返しますが、$cmp
は数値を返します。
比較式は 2 つの引数式を取り、異なる型の値に対して指定された BSON 比較順序を使用して、値と型の両方を比較します。
条件式演算子
名前 | 説明 |
---|---|
1 つの式を評価し、その結果に応じて他の 2 つの式のいずれかの値を返す三項演算子。順序付けられたリスト内の 3 つの式または 3 つの名前付きパラメータのいずれかを受け入れます。 | |
最初の式の null 以外の結果を返すか、最初の式の結果が null の場合は 2 番目の式の結果を返します。null 結果には、未定義の値または欠落したフィールドのインスタンスが含まれます。引数として 2 つの式を受け入れます。2 番目の式の結果は null にすることができます。 | |
一連のケース式を評価します。 true に評価される式が見つかると、 $switch 指定された式を実行し、制御フローを抜け出します。 |
カスタム集計式演算子
名前 | 説明 |
---|---|
カスタム累算器関数を定義します。 | |
カスタム関数を定義します。 |
データサイズ式演算子
次の演算子は、データ要素のサイズを返します。
名前 | 説明 |
---|---|
指定された文字列またはバイナリ データ値の内容のサイズをバイト単位で返します。 | |
指定されたドキュメントのサイズをバイト単位で返します(つまりbsontype Object )。(BSON としてエンコードされた場合) |
日付式演算子
以下の演算子は、日付オブジェクトまたは日付オブジェクトの構成要素を返します。
名前 | 説明 |
---|---|
日付オブジェクトにいくつかの時間単位を追加します。 | |
2 つの日付の差を返します。 | |
日付の構成要素を指定して BSON Date オブジェクトを構築します。 | |
日付/時刻文字列をオブジェクトに変換します。 | |
日付オブジェクトからいくつかの時間単位を減算します。 | |
日付の構成部分を含むドキュメントを返します。 | |
日付を書式設定された文字列として返します。 | |
日付を切り捨てます。 | |
日付の日付を 1 から 31 までの数値で返します。 | |
日付の曜日を 1(日曜日)から7(土曜日)までの数値として返します。 | |
日付の年間通算日を 1 ~ 366(閏年)の数値として返します。 | |
日付の時間を 0 から 23 までの数値で返します。 | |
曜日番号を ISO 8601 形式で返します。範囲は 1 (月曜日)から7 (日曜日)までです。 | |
1 から53 までの範囲の ISO 8601 形式の週番号を返します。週番号は、その年の最初の木曜日を含む週(月曜日から日曜日)の1 から始まります。 | |
ISO 8601 形式の年番号を返します。年は第 1 週の月曜日(ISO 8601)から始まり、最終週の日曜日(ISO 8601)に終わります。 | |
日付のミリ秒を 0 から 999 までの数値で返します。 | |
日付の分を 0 から 59 までの数値で返します。 | |
日付の月を 1(1 月)から 12(12 月)までの数値として返します。 | |
日付の秒数を 0 から 60(うるう秒)までの数値として返します。 | |
値を日付に変換します。 | |
日付の週番号を 0(年の最初の日曜日に先行する部分的な週)から 53(うるう年)までの数値で返します。 | |
日付の年を数値で返します (例:2014)。 |
以下の算術演算子は日付オペランドを取ることができます。
リテラル式演算子
その他の演算子
名前 | 説明 |
---|---|
ドキュメントから指定したフィールドの値を返します。 バージョン 5.0 で追加 | |
0 から 1 の間のランダムな浮動小数点数を返します。 | |
指定されたレートでドキュメントをランダムに選択します。選択されるドキュメントの正確な数は実行ごとに異なりますが、選択される数量は、ドキュメントの総数に対するパーセンテージで表されるサンプルレートに近似します。 |
オブジェクト式演算子
名前 | 説明 |
---|---|
複数のドキュメントを 1 つのドキュメントに結合します。 | |
ドキュメントを、キーと値のペアを表すドキュメントの配列に変換します。 | |
ドキュメント内の指定したフィールドを追加、更新、または削除します。 バージョン 5.0 で追加 |
集合式演算子
セット式は、配列をセットとして扱い、配列に対してセット演算を実行します。セット式は、各入力配列内の重複するエントリと要素の順序を無視します。
セット操作がセットを返す場合、操作は結果内の重複を除外して、ユニークなエントリのみを含む配列を出力します。出力配列内の要素の順序は指定されていません。
セットにネストされた配列要素が含まれている場合、セット式はネストされた配列に下降せず、最上位の配列を評価します。
名前 | 説明 |
---|---|
セットのどの要素も false と評価されない場合はtrue を返し、そうでない場合はfalse を返します。単一の引数式を受け入れます。 | |
セットのいずれかの要素が true と評価された場合はtrue を返します。それ以外の場合はfalse を返します。単一の引数式を受け入れます。 | |
最初のセットには表示されるが 2 番目のセットには表示されない要素を含むセットを返します。 相対値 を実行します 最初のセットに対する 2 番目のセットの 。厳密に 2 つの引数式を受け入れます。 | |
入力セットが同じ明確な要素を持つ場合は true を返します。2 つ以上の引数式を受け入れます。 | |
すべての入力セットに現れる要素を含むセットをします。任意の数の引数式を受け入れます。 | |
Returns true if all elements of the first set appear in the second set, including when the first set equals the second set; i.e. not a strict subset. 厳密に 2 つの引数式を受け入れます。 | |
入力セットのいずれかに現れる要素を含むセットを返します。 |
文字列式演算子
文字列式は、$concat
を除き、ASCII 文字の文字列に対してのみ明確に定義された動作を持ちます。
$concat
動作は、使用される文字に関係なく明確に定義されています。
名前 | 説明 |
---|---|
任意の数の文字列を連結します。 | |
日付/時刻文字列をオブジェクトに変換します。 | |
日付を書式設定された文字列として返します。 | |
文字列から部分文字列を検索し、最初に出現した文字列の UTF-8 バイトインデックスを返します。部分文字列が見つからない場合は、 -1 を返します。 | |
文字列から部分文字列を検索し、最初に出現した文字列の UTF-8 コードポイントのインデックスを返します。部分文字列が見つからない場合は、 -1 | |
文字列の先頭から空白または指定した文字を削除します。 | |
正規表現(regex)を文字列に適用し、最初に一致したサブストリングに関する情報を返します。 | |
正規表現(regex)を文字列に適用し、一致したすべての部分文字列に関する情報を返します。 | |
正規表現(regex)を文字列に適用し、一致するものが見つかったかどうかを示すブール値を返します。 | |
指定された入力内の一致した文字列の最初のインスタンスを置き換えます。 | |
指定された入力内の一致した文字列のすべてのインスタンスを置き換えます。 | |
文字列の末尾から空白または指定した文字を削除します。 | |
文字列を区切り文字に基づいて部分文字列に分割します。部分文字列の配列を返します。区切り文字が文字列内に見つからない場合は、元の文字列を含む配列を返します。 | |
文字列内の UTF-8 でエンコードされたバイト数を返します。 | |
UTF-8コードポイントの数を文字列で返します。 | |
大文字と小文字を区別しない文字列比較を行い、2 つの文字列が等しい場合は 0 、最初の文字列が 2 番目の文字列より大きい場合は 1 、最初の文字列が 2 番目の文字列より小さい場合は -1 を返します。 | |
文字列の部分文字列を返します。文字列内の指定された UTF-8 バイト インデックス(ゼロ ベース)の文字から始まり、指定されたバイト数だけ継続します。 | |
string の部分文字列を返します。 指定された UTF-8 コード ポイント(CP) の文字で始まる インデックス(ゼロベース)の string 内の を、指定されたコード ポイントの数だけ継続します。 | |
文字列を小文字に変換します。単一の引数式を受け入れます。 | |
値を文字列に変換します。 | |
文字列の先頭と末尾から空白または指定された文字を削除します。 | |
文字列を大文字に変換します。単一の引数式を受け入れます。 |
テキスト式演算子
名前 | 説明 |
---|---|
集計操作に関連するドキュメントごとの利用可能なメタデータにアクセスします。 |
三角法の式演算子
三角関数の式は、数値に対して三角関数の操作を行います。角度を表す値は、常にラジアンで入力または出力されます。度とラジアンの測定値を変換するには、$degreesToRadians
と $radiansToDegrees
を使用します。
名前 | 説明 |
---|---|
ラジアンで測定された値のサインを返します。 | |
ラジアンで測定された値のコサインを返します。 | |
ラジアンで測定された値のタンジェントを返します。 | |
値の逆サイン(アーク サイン)をラジアンで返します。 | |
値の逆コサイン(アーク コサイン)をラジアンで返します。 | |
値の逆タンジェント(アーク タンジェント)をラジアンで返します。 | |
y / x の逆タンジェント (アーク タンジェント) をラジアンで返します。ここでは、y と x はそれぞれ式に渡される最初の値と 2 番目の値です。 | |
値の逆双曲線サイン(双曲線アーク サイン)をラジアンで返します。 | |
値の逆双曲線コサイン(双曲線アーク コサイン)をラジアンで返します。 | |
値の逆双曲線タンジェント(双曲線アーク タンジェント)をラジアンで返します。 | |
ラジアンで測定された値の双曲線サインを返します。 | |
ラジアンで測定された値の双曲線コサインを返します。 | |
ラジアンで測定された値の双曲線タンジェントを返します。 | |
値を度からラジアンに変換します。 | |
値をラジアンから度に変換します。 |
型式演算子
名前 | 説明 |
---|---|
値を指定した型に変換します。 | |
値をブール値に変換します。 | |
値を日付に変換します。 | |
値を Decimal128 に変換します。 | |
値を double に変換します。 | |
値を整数に変換します。 | |
値を long に変換します。 | |
値を ObjectId に変換します。 | |
値を文字列に変換します。 | |
フィールドの BSON データ型を返します。 |
アキュムレータ($group, $bucket, $bucketAuto, $setWindowFields
)
集計アキュムレータ演算子:
ドキュメントが集約パイプラインを通過するときにその状態を維持します。
合計、最大値、最小値、およびその他の値を返します。
次の集約パイプライン ステージで使用できます。
$setWindowFields
MongoDB 5.0 以降で使用可能です(ただし、$accumulator
または$mergeObjects
演算子を使用している場合は除きます。これらは$setWindowFields
では使用できません)
バージョン 5.0 での変更。
名前 | 説明 |
---|---|
ユーザー定義のアキュムレータ関数の結果を返します。 | |
グループごとのユニークな式値の配列を返します。配列要素の順序は未定義です。 バージョン 5.0 で変更、 | |
数値の平均を返します。数値以外の値は無視されます。 バージョン 5.0 で変更、 | |
グループにあるドキュメントの数を返します。
バージョン 5.0 で追加され、 | |
グループごとの最初のドキュメントの値を返します。 順序は、ドキュメントがソートされた場合にのみ定義されます。
バージョン 5.0 で変更、 | |
グループ内の最初の バージョン 5.2 で追加され、 | |
グループごとの最後のドキュメントの値を返します。 順序は、ドキュメントがソートされた場合にのみ定義されます。
バージョン 5.0 で変更、 | |
グループ内の最後の バージョン 5.2 で追加され、 | |
グループごとの最大の式の値を返します。 バージョン 5.0 で変更、 | |
グループ内の最大値を持つ バージョン 5.2 で追加。
| |
各グループの入力ドキュメントを組み合わせて作成したドキュメントを返します。 | |
グループごとの最小の式値を返します。 バージョン 5.0 で変更、 | |
グループごとのドキュメントの式値の配列を返します。 バージョン 5.0 で変更、 | |
入力値の母集団標準偏差を返します。 バージョン 5.0 で変更、 | |
入力値のサンプル標準偏差を返します。 バージョン 5.0 で変更、 | |
数値の合計を返します。数値以外の値は無視されます。 バージョン 5.0 で変更、 | |
アキュムレーター(他のステージ)
$group
ステージのアキュムレータとして使用できる演算子の中には、他のステージでは使用できてもアキュムレータとしては使用できないものもあります。これらの他の段階で使用した場合、これらの演算子は状態を維持せず、単一の引数または複数の引数のいずれかを入力として取ることができます。詳細については、各演算子のページを参照してください。
バージョン 5.0 での変更。
次のアキュムレータ演算子は、 $project
、 $addFields
、 $set
、および MongoDB 5.0 以降の$setWindowFields
ステージでも使用できます。
名前 | 説明 |
---|---|
各ドキュメントの指定された式または式のリストの平均を返します。数値以外の値は無視されます。 | |
各ドキュメントの指定された式または式のリストの最大値を返します。 | |
各ドキュメントの指定された式または式のリストの最小値を返します。 | |
入力値の母集団標準偏差を返します。 | |
入力値のサンプル標準偏差を返します。 | |
数値の合計を返します。数値以外の値は無視されます。 |
変数式演算子
名前 | 説明 |
---|---|
サブエクスプレッションのスコープ内で使用する変数を定義し、サブエクスプレッションの結果を返します。名前付きパラメータを受け入れます。 任意の数の引数式を受け入れます。 |
ウィンドウオペレーター
バージョン 5.0 で追加
ウィンドウ演算子は、ウィンドウと呼ばれるコレクション内の定義済みのドキュメント範囲から値を返します。ウィンドウは$setWindowFields
ステージで定義され、MongoDB 5.0 以降で使用可能です。
$setWindowFields
ステージでは次のウィンドウ演算子を使用できます。
名前 | 説明 |
---|---|
各ドキュメントに式を適用した結果得られるすべてのユニークな値の配列を返します。 バージョン 5.0 で変更、 | |
指定された式の平均を返します。数値以外の値は無視されます。 バージョン 5.0 で変更、 | |
2 つの数値式の母共分散を返します。 バージョン 5.0 で追加 | |
2 つの数値式 のサンプル共分散を返します。 バージョン 5.0 で追加 | |
バージョン 5.0 で追加 | |
指定されたウィンドウ内の平均変化率を返します。 バージョン 5.0 で追加 | |
バージョン 5.0 で追加 | |
数値式の指数移動平均を返します。 バージョン 5.0 で追加 | |
グループまたは ウィンドウ 内の最初のドキュメントに 式 を適用した結果の値を返します。 バージョン 5.0 で変更、 | |
曲線下面積の近似値を返します。 バージョン 5.0 で追加 | |
グループまたは ウィンドウ 内の最後のドキュメントに 式 を適用した結果の値を返します。 バージョン 5.0 で変更、 | |
Last observation carried forward(LOCF)法。ウィンドウ内の
バージョン 5.2 で追加。 | |
各ドキュメントに式を適用した結果取得される最大値を返します。 バージョン 5.0 で変更、 | |
各ドキュメントに式を適用した結果の最小値を返します。 バージョン 5.0 で変更、 | |
各ドキュメントに式を適用した結果の値の配列を返します。 バージョン 5.0 で変更、 | |
バージョン 5.0 で追加 | |
ステージ バージョン 5.0 で追加 | |
各ドキュメントに数値式を適用した結果の母集団標準偏差を返します。 バージョン 5.0 で変更、 | |
各ドキュメントに数値式を適用した結果取得される標本標準偏差を返します。 バージョン 5.0 で変更、 | |
各ドキュメントに数値式を 適用した結果の合計を返します。 バージョン 5.0 で変更、 | |