Python3.x MongoDB聚合的使用—aggregate

2017-01-10 10:04:36来源:oschina作者:大猩猩secrets人点击

统计数据库中,id为user_id, 未阅读的消息,按消息类型分类并计算对应总数。


代码片段:


db = self.application.glados_client.message
pipeline = [
{"$match":{"user_id": user_id, 'read_time': {'$exists': False}}},
{"$group": {
"_id": "$msg_type",
"count": {"$sum": 1}
}}
]
cursor = db.user_message.aggregate(pipeline, allowDiskUse=True)

语法:db.collection.aggregate(pipeline, options)


数据库表: db.message.user_message


$match: 匹配的条件(匹配筛选user_id, read_time不存在的记录)


$group:集合规则(_id: 需要分类的字段, count:求和,计算总数)

更多用法:


MOngoDB官网(中文):http://docs.mongoing.com/manual-zh/


MOngoDB官网之:


aggregate:https://docs.mongodb.com/manual/reference/method/db.collection.aggregate/


菜鸟教程:http://www.runoob.com/mongodb/mongodb-aggregate.html

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台