(14)MongoDBの集約フレームアグリゲーション

群と比較して、集計は次のように一般的に使用される多くの方法がある建て:

  $ WHERE同等のリレーショナルデータベースと一致する
  グループによるリレーショナルデータベースへの$グループと同等
  $プロジェクトは、SELECTでリレーショナルデータベースと同等である
  順ソートリレーショナルデータベースへの$相当
  $限度リレーショナルデータベースと同等ですがリミット
  合計リレーショナルデータベースへの$和同等の
  リレーショナルデータベースの数に相当$和

db.collection.aggregate(ドキュメント)これは、文書を直接ケースに、JSONアレイADO使用される、データは、エッセイ中のデータを費やします。

お問い合わせの下で1、どのように多くのコモディティグッズ

  [

    {$基:{_ ID:ヌル、合計:{$合計:1}}}

  ]

  [{$基:{_ ID: 'CAT_ID'、合計:{$合計:1}}}]のIDがnullの場合、パケットが実際にはない、容易にそのような書き込みとして、定数も_idを書くことができ 

図2に示すように、各クエリ列の項目数

  [

    {$基:{_ ID: '$のCAT_ID'、合計:{$合計:1}}}

  ]  

  和のために、統計の実際の行数を1:CAT_IDグループ、合計任意の名前の場合は、合計$

3、セクション価格の下で、各お問い合わせは、商品$ 50の数よりも大きいです

  [
    {$マッチ:{shop_price:{$のGT:50}}}、
    {$基:{_ ID: '$のCAT_ID'、合計:{$合計:1}}}
  ]

以上3列に等しい4、商品価格のクエリ列番号のそれぞれは$ 50以下大きく、選択された「の条件を満足する商品番号」

  [
    {$マッチ:{shop_price:{$のGT:50}}}、
    {$基:{_ ID: '$のCAT_ID'、合計:{$和:1}}}、
    {$マッチ:{合計:{$ GTE :3}}}
  ]

図5は、各セクションでの在庫を確認します

  [

    {$基:{_ ID: '$ CAT_ID'、合計:{$和: '$ goods_number'}}}
  ]

図6は、各セクションの在庫確認、在庫をソートします

  [

    {$基:{_ ID: '$のCAT_ID'、合計:{$合計: '$のgoods_number'}}}、
    {$ ソート:{合計:1}}
  ]

図7は、各セクションの在庫確認、在庫をソートし、上位3の高い数を取ります

  [
    {$基:{_ ID: '$のCAT_ID'、合計:{$和: '$のgoods_number'}}}、
    {$ソート:{全-1}、
    {$制限:3}
  ]

8、低ソートに高い各列の平均商品価格と平均ケースの価格を問い合わせます

  [
    {$基:{_ ID: '$のCAT_ID'、平均:{$の平均: '$のshop_price'}}}、
    {$ ソート:{平均:-1}}
  ]

クエリ出力スタイルが同じ後、のみ(8)、例えば、ASは、以下:

{
     " 結果" :[ 
        { 
            " _id "5 " 平均"3700 
        }、
        { 
            " _id "4 " 平均"2297 
        }、
        { 
            " _id "3 " 平均"1746.0666666666666 
        }、
        { 
            " _id "2 " 平均"823.33 
        }、
        { 
            " _id "8 " 平均"75.33333333333333 
        }、
        { 
            " _id "15 " 平均"70 
        }、
        { 
            " _id "14 " 平均"54 
        } 、
        {
            " _id "13 " 平均"33.5 
        }、
        { 
            " _id "11 " 平均"31 
        } 
    ]、
    " OK "1 
}
コードの表示

出力は、JSON、結果、OKであり、JSON配列内の結果結果を格納、値1がOKであります

おすすめ

転載: www.cnblogs.com/javasl/p/11331879.html