集計チュートリアル
Overview
集計チュートリアルでは、一般的な集計タスクを ステップ別形式で詳しく説明します。 チュートリアルは、Pool Done が作成した Practical MongoDB Aggregations 書籍 の例えを使用しています。
各チュートリアルには、次のセクションが含まれています。
概要では、集計タイプの目的と一般的なユースケースについて説明しています。 このセクションでは、チュートリアルが示す例と目的の結果についても説明します。
始める前に 。集計パイプラインを構築し、集計を実行する前に、必要なデータベース、コレクション、サンプル データについて説明します。
チュートリアルでは、集計パイプラインをビルドして実行する方法について説明します。 このセクションでは、完了した集計チュートリアルの各ステージについて説明し、集計の出力を実行して解釈する方法について説明します。
各集計チュートリアルの最後には、環境内で実行できる完全に実行可能な Python コードファイルへのリンクがあります。
集計テンプレート アプリ
集計チュートリアルに従う前に、新しい Python アプリを設定する必要があります。 このアプリを使用して、MongoDB 配置に接続し、MongoDB にサンプル データを挿入し、各チュートリアルで集計パイプラインを実行できます。
Tip
ドライバーをインストールして に接続する方法については、「MongoDB を使い始める 」を 参照してください。PyMongo
ドライバーをインストールすると、 agg_tutorial.py
というファイルが作成されます。 このファイルに次のコードを貼り付けて、集計チュートリアル用のアプリ テンプレートを作成します。
from pymongo import MongoClient # Replace the placeholder with your connection string. uri = "<connection string>" client = MongoClient(uri) try: agg_db = client["agg_tutorials_db"] # Get a reference to relevant collections. # ... some_coll = # ... another_coll = # Delete any existing documents in collections. # ... some_coll.delete_many({}) # Insert sample data into the collection or collections. # ... some_data = [...] # ... some_coll.insert_many(some_data) # Create an empty pipeline array. pipeline = [] # Add code to create pipeline stages. # ... pipeline.append({...}) # Run the aggregation. # ... aggregation_result = ... # Print the aggregation results. for document in aggregation_result: print(document) finally: client.close()
重要
上記のコードでは、コードコメントを読みて、次のチュートリアルで変更する必要があるコードのセクションを見つけます。
変更せずにコードを実行しようとすると、接続エラーが発生します。
すべてのチュートリアルで、接続stringプレースホルダーを配置の接続stringに置き換える必要があります。 配置の 接続stringを見つける方法については、「 接続文字列のstring 」を参照してください。
たとえば、接続stringが "mongodb+srv://mongodb-example:27017"
の場合、接続stringの割り当ては次のようになります。
uri = "mongodb+srv://mongodb-example:27017";
チュートリアルのテンプレートを変更した後に完了したファイルを実行するには、shell で次のコマンドを実行します。
python3 agg_tutorial.py