Docs Menu

Docs Homeアプリケーションの開発Python ドライバーPyMongo

集計チュートリアル

項目一覧

  • Overview
  • 集計テンプレート アプリ
  • 利用可能なチュートリアル

集計チュートリアルでは、一般的な集計タスクをステップ別形式で詳しく説明します。 チュートリアルは、 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
← 集計によるデータの変換