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

Python操作MongoDB查询嵌套字段返回None问题求助

问题原因及解决方法
  • 核心问题:字段层级不匹配
    你的查询语句col.find({"title":"Reuters"})是在文档的顶层字段中查找title,但实际title字段嵌套在键为18998750的子对象里,所以无法匹配到数据。

  • 正确查询方式
    针对嵌套字段,需要用MongoDB的点符号指定完整路径:

    col.find({"18998750.title": "Reuters"})
    
  • 处理动态键的情况
    如果18998750是动态生成的(每个文档的该键值不同),可以用$expr结合$objectToArray来遍历所有子文档,匹配任意子文档中title为Reuters的情况:

    col.find({
        "$expr": {
            "$anyElementTrue": [
                {"$map": {
                    "input": {"$objectToArray": "$$ROOT"},
                    "in": {"$eq": ["$$this.v.title", "Reuters"]}
                }}
            ]
        }
    })
    

内容的提问来源于stack exchange,提问作者Mario

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 04:21:50