MongoDB集約フレームワーク

3148 ワード

このチュートリアルシリーズでは、MongoDBの集約フレームワークをガイドし、より効率的なMongoDBユーザーになるためにその力を活用しましょう.
私は、この記事のどんな経験も前提としません.それはあなたの次のレベルにあなたのMongoDBスキルを取るし、さらに集約的なクエリを実行するには、その集約フレームワークを活用したい場合.
このブログシリーズは、集約のフレームワークに深く潜入するだけでなく、いくつかのmongodbに新たに追加機能をご紹介します.

アグリゲーションフレームワークとは何か


Aggregations operations process data records and return computed results. Aggregation operations group values from multiple documents together and can perform a variety of operations on the grouped data to return a single result. In SQL count(*) and with the group by is an equivalent of MongoDB aggregation.


なぜ集約フレームワークを使うのか?


表現型フィルタ


これは、フィルタリング、ソート、およびグループ化データなどのさまざまな操作を実行するツールの強力なセットを提供します.

データ変換


それはあなたの非常に効率的な方法でデータを変換することができます.集計演算子を利用して計算を行うことができます.

統計的ユーティリティとデータ解析


MongoDBの集約を使用して強力なデータ解析を行うことができます.
私の以前の仕事は、視覚化と意思決定のための統計データを提供するMongoDB集約フレームワークに依存していたので、私はこのフレームワークを鑑賞するために成長した理由です.
あなたはこの強力なツールを行うことができますもっとたくさんある!

MongoDBで集約を行う方法

  • MapReduce
  • Aggregation Pipelines
  • Single Purpose Aggregation Functions
  • マップを減らす


    公式MongoDBのドキュメントサイトは、そのシンプルさと表現力のためにほとんどのユースケースの集計パイプラインを使用してお勧めします.

    An aggregation pipeline provides better performance and usability than a map-reduce operation.


    単一目的集約関数


    MongoDBもDBを提供します.コレクション.データベースを推定します.コレクション.count ()とdbコレクション.define ().
    これらの操作のすべては、一つのコレクションから文書を集めます.これらの操作は共通の集約プロセスへの単純なアクセスを提供するが、それらは集約パイプラインの柔軟性と能力を欠いている.

    凝集パイプライン


    MongoDB集約パイプラインの視覚表現
    db.products.aggregate([{ $match: { discounted: true } }]);
    
    
    集約演算を実行するMongoDBクエリ.

    パイプラインとは


    パイプラインは、ステップに依存するデータ処理方法である.集約クエリを実行するには、データベースに少なくとも1つの操作を行う必要があります.

    凝集パイプライン
    集約パイプラインはデータ処理パイプラインの概念をモデル化したデータ集約のための枠組みである.ドキュメントは、結果を集計結果に変換する多段パイプラインに入ります.
    簡単に言うと、パイプラインは、各ステージからのデータが次のステージへの入力となる段階の構成である.
    集約パイプラインはステージから成ります.

    ステージ
    ステージはデータ処理ステップである.ステージは、データからの洞察を引き出すために、変更を行い、比較を実行するために使用することができます.論理的に、私は凝集段階を以下に分類するのが好きです
  • 粉砕段階
  • データ解析段階
  • 変換段階
  • 構成段階

  • 構造と構文
    を介して集約を行うことができますaggregate() ネイティブのドライバで利用できる方法.この例では、typescriptを使用してインストールしていることを確認します.
    MongoDBを使用してデータを集約するaggregate() マングースでも利用できるメソッドです.集約パイプラインを表す配列を受け取ります.この配列は、それぞれが集約段階であるいくつかのオブジェクトを受け入れることができます.