sql >> データベース >  >> NoSQL >> MongoDB

MongoDB {aggregation$match}と{find}の速度

    aggregation frameworkの主な目的 多数のエントリのクエリを容易にし、価値のある結果を少数生成することです。

    あなたが言ったように、あなたは複数のfindを使うこともできます クエリですが、findで新しいフィールドを作成することはできないことに注意してください クエリ。一方、$group ステージでは、新しいフィールドを定義できます。

    aggregation frameworkの機能を実現したい場合 、ほとんどの場合、最初のfindを実行する必要があります (または複数の情報を連鎖させて)、その情報を引き出し、プログラミング言語でさらに操作します。

    aggregation pipeline 時間がかかるように見えるかもしれませんが、少なくとも、1つのシステム(MongoDBエンジン)のパフォーマンスのみを考慮する必要があることを知っています。

    一方、findから返されたデータの操作に関しては クエリを実行する場合は、プログラミング言語を使用してデータをさらに操作する必要がある可能性が高いため、選択したプログラミング言語の複雑さに応じて複雑さが増します。



    1. MongoDB:メッセージングアプリに最適なデザイン

    2. マングースの「静的」メソッドと「インスタンス」メソッド

    3. MongoDB:ひどいMapReduceパフォーマンス

    4. 配列フィールドの値によるMongoDBgroup