按照分组和聚合带有嵌套字段
创始人
2024-08-23 23:00:38
0次

以下是一个示例,展示如何按照分组和聚合带有嵌套字段的数据:

from pymongo import MongoClient

# 连接到MongoDB数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['mydatabase']  # 替换为你的数据库名称

# 创建一个示例文档
doc1 = {
    'name': 'Alice',
    'age': 25,
    'address': {
        'city': 'New York',
        'country': 'USA'
    }
}

doc2 = {
    'name': 'Bob',
    'age': 30,
    'address': {
        'city': 'London',
        'country': 'UK'
    }
}

doc3 = {
    'name': 'Charlie',
    'age': 35,
    'address': {
        'city': 'Paris',
        'country': 'France'
    }
}

# 将文档插入到集合中
collection = db['mycollection']  # 替换为你的集合名称
collection.insert_many([doc1, doc2, doc3])

# 按照嵌套字段进行分组和聚合
pipeline = [
    {
        '$group': {
            '_id': '$address.city',  # 按照城市进行分组
            'count': {'$sum': 1},  # 统计每个城市的数量
            'average_age': {'$avg': '$age'}  # 计算每个城市的平均年龄
        }
    }
]

result = collection.aggregate(pipeline)

# 打印结果
for doc in result:
    print(doc)

这个示例使用Python的pymongo库连接到MongoDB数据库,并在指定的集合中插入了几个文档。然后,使用聚合管道按照嵌套字段address.city进行分组,并计算每个城市的数量和平均年龄。最后,打印结果。

相关内容

热门资讯

分享认知透视器!同城约战透视器... 分享认知透视器!同城约战透视器AI脚本,同城约战多功能果然真的是有透视器脚本1、同城约战公共底牌简单...
传递经验辅助!推筒子辅助AI插... 传递经验辅助!推筒子辅助AI插件,推筒子多功能总是存在有辅助插件1、推筒子免费脚本咨询教程、推筒子免...
普及知识开挂!英豪娱乐城开挂A... 普及知识开挂!英豪娱乐城开挂AI工具,英豪娱乐城多功能总是是有开挂工具英豪娱乐城能透视中分为三种模型...
研究成果开挂!50k开挂AI攻... 研究成果开挂!50k开挂AI攻略,50k多功能本来是真的有开挂攻略1、上手简单,内置详细流程视频教学...
指导大家辅助!牛大亨辅助AI攻... 指导大家辅助!牛大亨辅助AI攻略,牛大亨多功能真是是真的有辅助攻略1、点击下载安装,牛大亨脚本分类一...
实测必看辅助器!乐天棋牌辅助器... 实测必看辅助器!乐天棋牌辅助器AI技巧,乐天棋牌多功能好像存在有辅助器技巧1、该软件可以轻松地帮助玩...
信息共享辅助器!永州扯胡子辅助... 信息共享辅助器!永州扯胡子辅助器AI技巧,永州扯胡子多功能原来真的有辅助器技巧信息共享辅助器!永州扯...
避坑细节辅助!南京麻将辅助AI... 避坑细节辅助!南京麻将辅助AI软件,南京麻将多功能总是是真的有辅助软件1、实时南京麻将透视辅助更新:...
传递经验开挂!天天卡五星开挂A... 传递经验开挂!天天卡五星开挂AI攻略,天天卡五星多功能本来是真的有开挂攻略1、实时天天卡五星透视辅助...
玩家必备科普辅助!联众跑胡子辅... 玩家必备科普辅助!联众跑胡子辅助AI教程,联众跑胡子多功能一贯存在有辅助教程1、金币登录送、破产送、...