关于mongodb的aggregate()中$slice的使用

在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'

不知道是为什么,请高手看看,不胜感激!

阅读 6k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进