文档菜单

文档首页开发应用程序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
← 使用聚合转换数据