MongoDB多字段去重查询:实现SELECT DISTINCT多列等价场景问题求助
MongoDB多字段去重查询空结果解决方案
核心问题原因
- 缺失
season=2020的过滤逻辑,对应SQL语句中的WHERE条件未实现 - 嵌套字段
game_key的取值路径错误,game_key属于schedule子文档,原写法使用$game_key无法匹配到目标字段,导致分组逻辑异常 - 分组_id的嵌套结构会增加后续DataFrame转换的处理成本
修正后的代码
cursor = collection.aggregate([ # 匹配赛季条件,对应SQL的WHERE子句 {"$match": {"season": 2020}}, # 按两个目标字段分组,自动实现去重效果,对应SQL的DISTINCT {"$group": { "_id": { "game_id": "$game_id", "game_key": "$schedule.game_key" } }} ]) # 直接提取分组结果的字段生成DataFrame,避免嵌套结构 df = pd.DataFrame([item["_id"] for item in cursor]) print(df.head())
内容的提问来源于stack exchange,提问作者SD_23
相关产品推荐
相关产品推荐

