モンゴルDBの集約


集約はデータ処理パイプラインの体現である.
下の写真を見てください.

一部のデータが順次整理された後、
図はresult

つまり、各フェーズは前のフェーズの結果値に適用されます!


そのため、データをロードする際に非常に便利です.
const CatAvg = await Keywords.aggregate([
            { $match : {'cate_id':{$in : categories}, round_no:roundNo}},
            { $sort : {create_dt:-1}},
            { $group : {_id:'$cate_id', prices : {$push:{$toInt: '$prc_avg'}}}},
            // 300개 잘랐음.
            { $project:{average : {$avg:{$slice:["$prices",300]}}}},
        ])
これらのコードには、次のものが含まれます.
次の手順に従います.
  • categoriesこの配列にはcate_id値がありますround_no === roundNo検索
  • 作成日より降順
  • cate_idを用いてグループ化し、価格という配列形式の新しい領域を創出し、それに加えてprc_avg値を加える.
  • 価格フィールドの平均値をaverageとして計算する.
  • 一緒に勉強したメンバーのおかげで、帰りも近道ができました.
    ありがとう!