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
相关产品推荐
相关产品推荐

