pymongo $exists :false 与 False

pymongo $exists :false vs False

我正在从 pymongo 读取数据,需要检查列是否存在

[doc for doc in col.find{"IAM":{"$exists":false}}  

我得到错误接近 false

我尝试将 false 转换为 False,但在 mongodb 中它没有返回任何内容。如何检查pymongo中是否存在列?

似乎是语法错误,您使用 find 搜索的对象需要用这种类型的括号“find()”括起来,而不是这种“find{}” - curly

有几点需要更正:

  • @R2D2 正确;语法应该是 find({}).
  • 谓词在python*
  • 中应该是False(大写)
  • 您可以将 [for doc in doc ...] 替换为 list()

所以你的最后陈述是:

result = list(col.find({"IAM": {"$exists": False}}))  

*在mongo shell / javascript中是false(小写)