Python 使用pymongo聚合计数记录

Python 使用pymongo聚合计数记录,python,mongodb,pymongo,pymongo-3.x,Python,Mongodb,Pymongo,Pymongo 3.x,我想数一数与pymongo匹配的记录。 我已查阅了以下文件: 我明白我应该做一些事情,比如: 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 =

我想数一数与pymongo匹配的记录。 我已查阅了以下文件:

我明白我应该做一些事情,比如:

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控制台运行时,它给出了预期的结果,在我的例子中是:
{“\u id”:numberprint(“1234”),“count”:1}

我做错了什么?我正在使用Pymongo3.4、Python3.6和Mongomock3.7


我还尝试用不会崩溃的
“1”
替换
1
,但结果不正确:(
{“\u id”:numberrint(“1234”),“count”:numberrint(“0”)}

很显然,这是mongomock中的一个bug,升级到3.8后,我得到了预期的行为