要按用户分组聚合Mongo中已批准的帖子,可以使用MongoDB的聚合管道(aggregation pipeline)来实现。以下是一个示例代码:
from pymongo import MongoClient
# 连接到MongoDB
client = MongoClient()
db = client['your_database_name']
collection = db['your_collection_name']
# 使用聚合管道进行分组聚合
pipeline = [
# 过滤已批准的帖子
{"$match": {"approved": True}},
# 按用户分组
{"$group": {"_id": "$user", "count": {"$sum": 1}}}
]
# 执行聚合查询
result = collection.aggregate(pipeline)
# 打印结果
for doc in result:
print(doc)
请注意,上述代码假设你已经连接到MongoDB,并且已经指定了正确的数据库名称和集合名称。你需要将your_database_name
和your_collection_name
替换为实际的数据库和集合名称。
聚合管道中的第一个阶段是$match
,它用于过滤已批准的帖子。你可以根据实际需求调整此阶段的查询条件。
第二个阶段是$group
,它按user
字段进行分组,并使用$sum
操作符计算每个用户的帖子数量。
最后,通过迭代聚合结果,你可以获取每个用户和其帖子数量的信息。你可以根据需要进行进一步处理或将结果用于其他用途。
上一篇:按用户分组获取所有数据
下一篇:按用户和权限分组