在 Python 中使用 PyMongo 执行 MongoDB 聚合操作

2023-04-15 00:00:00 执行 操作 聚合

PyMongo 是 Python 中使用 MongoDB 的第三方库,可以方便地进行 MongoDB 的 CRUD 操作,包括聚合操作。以下是一个示例代码,使用 PyMongo 执行 MongoDB 聚合操作:

from pymongo import MongoClient
# 连接 MongoDB 数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['test_db']
collection = db['test_collection']
# 执行聚合操作
pipeline = [
    {"$match": {"name": "皮蛋编程"}},
    {"$group": {"_id": "$age", "count": {"$sum": 1}}}
]
result = collection.aggregate(pipeline)
# 输出结果
for r in result:
    print(r)

以上代码中,首先连接 MongoDB 数据库,然后指定要进行聚合操作的集合(collection)。聚合操作使用 MongoDB 的聚合管道(pipeline)进行,每个聚合操作都会生成一个文档,这些文档按照管道中指定的顺序传递。在本例中,聚合管道包含两个操作:
1. $match: 匹配指定条件的文档,这里是匹配 name 为“皮蛋编程”的文档。
2. $group: 按照指定的字段进行分组,这里是按照 age 字段分组,并统计每组文档的数量。
执行聚合操作后,会返回一个聚合结果迭代器(cursor),可以使用循环输出结果。
总之,PyMongo 提供了丰富的聚合操作函数,可以根据具体需求进行灵活选择。

相关文章