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

pymongo中$exists用false报错/False无返回及字段存在性校验问题

pymongo校验字段是否存在的正确写法

代码里的两处错误

  • 语法错误:find是集合对象的调用方法,必须用圆括号包裹查询参数,你写的col.find{...}缺少了方法调用的圆括号,这是首次运行直接报错的核心原因
  • 布尔值规范:MongoDB原生shell语法里用小写true/false,但pymongo作为Python驱动,所有布尔参数要使用Python原生的大写True/False,你后续修改布尔值的操作是正确的,但因为前面的语法错误没有修复,所以查询没有正常执行。

正确的查询写法

查询IAM字段不存在的文档

[doc for doc in col.find({"IAM": {"$exists": False}})]

查询IAM字段存在的文档

[doc for doc in col.find({"IAM": {"$exists": True}})]

无返回结果的排查方向

如果修正语法后还是没有返回结果,可以按以下顺序排查:

  • 确认集合内确实存在不含IAM字段的文档,可先调用col.find_one()输出随机文档结构,核对字段名的拼写、大小写是否完全匹配
  • 确认当前连接的数据库、集合是目标操作的库表,没有连错测试/生产环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 08:45:01