python操作mongodb 先查询然后分组
时间: 2023-10-19 07:11:41 浏览: 127
可以使用MongoDB的聚合框架来实现对集合的查询和分组操作。具体的代码实现如下:
```python
from pymongo import MongoClient
# 连接MongoDB数据库
client = MongoClient('localhost', 27017)
# 选择数据库和集合
db = client.test
collection = db.students
# 查询所有的文档
data_list = collection.find()
# 对数据进行分组操作
result = collection.aggregate([
{'$group': {'_id': '$gender', 'count': {'$sum': 1}}}
])
# 输出结果
for data in data_list:
print(data)
for item in result:
print(item)
```
以上代码中,我们首先使用`pymongo`模块连接到MongoDB数据库,并选择了`test`数据库中的`students`集合。然后使用`find()`方法查询所有文档,将结果保存在`data_list`列表中。
接着,我们使用聚合框架中的`aggregate()`方法对数据进行分组操作,使用`$group`操作符对数据按照`gender`字段进行分组,并使用`$sum`操作符计算每组的文档数,并将结果保存在`result`列表中。
最后,我们输出查询结果和分组结果。可以看到,查询结果是一个包含所有文档的列表,而分组结果是一个按照`gender`分组的字典列表,每个字典包含`_id`和`count`两个字段。
阅读全文