簡體   English   中英

聚合-用pymongo計數記錄

[英]Aggregate - count records with pymongo

我想用pymongo計算匹配記錄。 我已經查看了文檔: https : //docs.mongodb.com/manual/reference/operator/aggregation/group/#group-by-month-day-and-year

我了解我應該執行以下操作:

db.foo_baz.aggregate([{'$group': {'_id': '$baz_id', 'count': {'$sum': 1}}}])

但是,我收到此錯誤:

      File "/usr/lib/python3.6/site-packages/mongomock/collection.py", line 1531, in aggregate
    from_field = key.replace('$', '')
AttributeError: 'int' object has no attribute 'replace'

添加評論

我認為pymongo會對此mongodb語句進行評估:

 db.foo_baz.aggregate({{$group: {_id: '$baz_id', count: {$sum: 1}}}])

從mongodb控制台運行時,這給了我預期的結果,在我的情況下為{"_id" : NumberInt("1234"), "count" : 1}

我在做什么錯? 我正在使用pymongo 3.4和python 3.6和mongomock 3.7。

我也嘗試過將1替換為"1" ,這不會崩潰,但給出了錯誤的結果:( {"_id" : NumberInt("1234"), "count" : NumberInt("0")}

好吧,顯然這是mongomock中的錯誤,升級到3.8后,我得到了預期的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM