在mongodb
中使用aggregate(函数作聚合)
,pipe是这样写的:
pipe = [
{'$match':{'time':'03.02'}},
{'$group':{'_id':{'$slice':['$address',0,1]},'counts':{'$sum':1}}},
{'$sort':{'counts':-1}}
]
address字段是list型,然后想取出address中第一项,出现一个就加一,但是总是报错:
OperationFailure: command SON([('aggregate', u'item_info_3'), ('pipeline', [{'$match': {'time': '03.02'}}, {'$group': {'counts': {'$sum': 1}, '_id': {'$slice': ['$address', 0, 1]}}}, {'$sort': {'counts': -1}}]), ('cursor', {})]) on namespace GanjiData.$cmd failed: exception: invalid operator '$slice'
不知道是为什么?
据mongodb docs上显示,aggregation的$slice是在mongodb 3.2之后才加入的。参见:https://docs.mongodb.org/manual/reference/operator/aggregation/slice/
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。