You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:45:04