文档首页 → 开发应用程序 → Python 驱动程序 → PyMongo
聚合教程
概述
聚合教程以分步格式详细解释了常见的聚合任务。这些教程是从保罗·多恩(Paul Done)的《实用MongoDB聚合》一书中改编而来。
每个教程都包括以下部分
简介,描述了聚合类型的用途和常见用例。本节还描述了教程演示的示例和预期结果。
开始之前,描述了在构建聚合管道和执行聚合之前必须具备的数据库、集合和示例数据。
教程,描述了如何构建和运行聚合管道。本节描述了完成聚合教程的每个阶段,然后解释了如何运行和解释聚合的输出。
在每个聚合教程结束时,您都可以找到一个链接到一个完全可运行的Python代码文件,您可以在自己的环境中运行该文件。
聚合模板应用
在开始遵循聚合教程之前,您必须设置一个新的Python应用程序。您可以使用此应用程序连接到MongoDB部署,将示例数据插入到MongoDB中,并在每个教程中运行聚合管道。
提示
要了解如何安装驱动程序并连接到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()
重要
在前面代码中,阅读代码注释以找到您需要根据所遵循的教程修改的代码部分。
如果您在没有进行任何更改的情况下尝试运行代码,您将遇到连接错误。
对于每个教程,您必须用您的部署的连接字符串替换连接字符串占位符。要了解如何定位您的部署的连接字符串,请参阅创建连接字符串。
例如,如果您的连接字符串是"mongodb+srv://mongodb-example:27017"
,则您的连接字符串赋值类似于以下内容
uri = "mongodb+srv://mongodb-example:27017";
修改教程模板后,运行以下命令以运行完成的文件
python3 agg_tutorial.py