首页 > 其他 > 详细

mongoengine 中高级用户执行聚合函数等

时间:2020-04-24 13:01:30      阅读:86      评论:0      收藏:0      [点我收藏+]

在mongoengine中执行pymongo做高级查询事例

用到分组、查询人数、降uid push到列表中

 

    new_user_data = {}
    pipeline = [
        {$match: {date: {$gte: "2020-04-01", $lte: "2020-04-29"}, "day_age": 0}},
        {$project: {"date": 1, "uid": 1}},
        {"$group": {"_id": "$date", "count": {"$sum": 1}, "uid_list": {"$push": "$uid"}}}
    ]

    # device_id 列表
    userdaystat = UserDayStat.objects().aggregate(*pipeline)
    for user in userdaystat:
        new_user_data[user["_id"]] = user
    print(new_user_data)

    # lc_user_data =  {‘2020-04-16‘: {‘_id‘: ‘2020-04-16‘, ‘count‘: 15}, ‘2020-04-18‘: {‘_id‘: ‘2020-04-18‘, ‘count‘: 8}}
    lc_user_data = {}
    pipeline = [
        {$match: {date: {$gte: "2020-04-01", $lte: "2020-04-29"}, "uid": {"$in": [188287, 176525, 131676,
                                                                                          112097, 175908, 145366,
                                                                                          157408, 175846, 168210,
                                                                                          183352, 178233, 115055,
                                                                                          159782, 116119,
                                                                                          127276]}}},
        {$project: {"date": 1}},
        {"$group": {"_id": "$date", "count": {"$sum": 1}}}
    ]

    lc_user_data = UserDayStat.objects().aggregate(*pipeline)
    for user in userdaystat:
        lc_user_data[user["_id"]] = user
    print(lc_user_data)

 

mongoengine 中高级用户执行聚合函数等

原文:https://www.cnblogs.com/zhaoyingjie/p/12766369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!