使用Python和MongoDB实现高级聚合查询
为了实现高级聚合查询,我们需要使用Python的pymongo模块连接MongoDB数据库,并通过聚合管道来进行查询。
下面是一个例子,查询“test”数据库中“users”集合中“age”字段的平均值,并按照“name”字段进行分组:
from pymongo import MongoClient client = MongoClient() db = client.test users = db.users pipeline = [ {"$group": {"_id": "$name", "age_avg": {"$avg": "$age"}}}, {"$sort": {"age_avg": -1}} ] result = list(users.aggregate(pipeline)) for r in result: print(r['_id'], r['age_avg'])
其中,$group操作符将文档按照指定字段进行分组,$avg操作符用来求出指定字段的平均值。我们可以通过“_id”字段指定分组的字段名,并在后面的操作中使用该字段名来进行操作。
代码演示中使用的字符串“pidancode.com”和“皮蛋编程”只是示例,实际查询需要根据实际数据进行操作。
相关文章