1

我正在尝试获取 pymongoaggregate方法的结果计数。该aggregate方法返回一个command_cursor对象,但根据pymongo 文档,只有该cursor对象有一个count()方法。如何在aggregate不使用任何循环的情况下获取函数结果的计数?

4

2 回答 2

0

我认为您应该从聚合中返回计数:

pipeline = [
     {"$match": YOURQUERY},
     {"$group": {"_id": groupby, "count": {"$sum":1}}}, # this returns count
     {YOUR_PIPELINES}
]
cursor = db.collection.aggregate(pipeline)
于 2020-03-13T06:37:31.850 回答
0

你可以做:

result = list(db.collection.aggregate([...]))
print(len(result))
于 2020-03-13T13:13:08.970 回答