pymongo的聚合函数aggregate的用法,用于统计

更新时间:2023-07-06 11:16:01 阅读: 评论:0

西安会计培训pymongo的聚合函数aggregate的⽤法,⽤于统计
mongodb中collection的数据是这样的
{ "_id" : ObjectId("55d304e44ac0ed5e1ea834a3"), "update_time" : "2015-08-18 18:27:29", "share_pv" : 0, "topic_id" : "205", "share_ip" : 0, "date" : "2015-08-18", "view_ip" : 2, "view_pv" : 117 }
colony
{ "_id" : ObjectId("55d30c924ac0ed5fb70ef57f"), "update_time" : "2015-08-18 20:29:21", "topic_id" : 205, "date" : "2015-08-18", "topic_title" : "⼤叔の店铺", "share_pv" : 0, "share_ip" : 0, "view_ip" : 2, "view_pv" : 235 } 
我需要查询按照topic_id来分组的,每个topic_id的share_pv的总和,share_ip的总和,view_ip的总和,view_pv的总和.
conn = pymongo.Connection()
英语副词collection = llection_name
#match⽤户筛选,相当于sql语句中的where后⾯的表达式
match = {}
match['date'] = {
'$gte' : '2015-08-21',  #⼤于等于2015年8⽉21⽇的
insult'$lte' : '2015-08-23'    #⼩于等于2015年8⽉23⽇的
学英语的方法}
#根据什么来分组相当于sql语句中的group by语句
group = {}
appetitegroup['_id'] = "$topic_id"  #根据topic_id来分组
group['all_view_ip'] = {
'$sum' : '$$view_ip',    #对view_ip字段求和
宽容心态
}
group['all_view_pv'] = {
agricultural
monkeybusiness
'$sum' : '$view_pv',    #对view_pv字段求和
}
group['date'] =  {'$addToSet':"$date"},  #date字段添加到返回结果⾥⾯去
#对结果进⾏排序
sort = {
'all_view_ip' : 1,    #all_view_ip来⾃于上⾯group当中的key,-1和1分别表⽰倒序和升序others是什么意思
}
collection.aggregate([match, group, sort])

本文发布于:2023-07-06 11:16:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/168814.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   培训   结果
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图