文档菜单
文档首页
/ / /
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

返回

聚合