搜尋

首頁  >  問答  >  主體

關於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'

不知道是為什麼,請高手看看,不勝感激!

PHP中文网PHP中文网2757 天前742

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-02 09:20:00

    不知道你mongodb的版本是多少,据mongodb docs上显示,aggregation$slice是在mongodb 3.2之後才加入的。


    https://docs.mongodb.org/manual/reference/operator/aggregation/slice/

    回覆
    0
  • 取消回覆