Docs Menu
Docs Home
/
MongoDBマニュアル

集計操作

項目一覧

  • 集計パイプライン
  • 単一目的の集計方法

集計操作は、複数のドキュメントを処理し、計算結果を返します。 集計操作を使用すると、次のことができます。

  • 複数のドキュメントの値をグループ化します。

  • グループ化されたデータに対して操作を実行して、1 つの結果を返します。

  • 時間の経過に伴うデータの変化を分析します。

集計操作を実行するには、次を使用できます。

  • 集計パイプラインは、集計を実行するための推奨される方法です。

  • 単一目的の集約方法。シンプルですが、 aggregation pipelineの機能がありません。

集計パイプラインは、ドキュメントを処理する 1 つ以上の ステージで構成されます。

  • 各ステージは、入力ドキュメントに対して操作を実行します。 例えば、ステージでは、文書のフィルター処理、文書のグループ化、および値の計算を行うことができます。

  • ステージから出力された文書は、次のステージに渡されます。

  • aggregation pipelineドキュメントのグループの結果を返すことができます。 たとえば、合計値、平均値、最大値、最小値を返します。

aggregation pipeline aggregation pipelineでドキュメントを更新できます。

注意

次の集計パイプラインの例には 2 つのステージが含まれており、ピザ名ごとにグループ化された中サイズのピザの合計注文数量を返します。

db.orders.aggregate( [
// Stage 1: Filter pizza order documents by pizza size
{
$match: { size: "medium" }
},
// Stage 2: Group remaining documents by pizza name and calculate total quantity
{
$group: { _id: "$name", totalQuantity: { $sum: "$quantity" } }
}
] )

$match段階:

  • ピザ注文ドキュメントを、mediumsizeを持つピザにフィルタリングします。

  • 残りのドキュメントを $group ステージに渡します。

$group段階:

  • 残りのドキュメントをピザ nameでグループ化します。

  • $sumを使用して、各ピザnameの合計注文quantityを計算します。合計は、 aggregation pipelineによって返される totalQuantity フィールドに格納されます。

サンプル入力ドキュメントを含む実行可能な例については、 「完全なaggregation pipelineの例」を参照してください。

集計パイプラインの詳細については、 集計パイプラインを参照してください。

単一目的の集約方法は、単一のcollectionからドキュメントを集約します。 この方法は単純ですが、 aggregation pipelineの機能が欠けています。

方式
説明
collectionまたはビュー内のドキュメントのおおよその数を返します。
collectionまたはビュー内のドキュメントの数を返します。
指定されたフィールドに対して異なる値を持つドキュメントの範囲を返します。

戻る

テール可能カーソル