使用 pymongo 查询空字段

WGP*_*WGP 2 python null mongodb pymongo

我想使用 python 在 mongo 中查询空字段,但是它很难处理 null 或 false 这两个词。它要么给我一个错误,即它们在 python 中未定义,要么在 mongo 中搜索字符串 null 和 false,我不想发生这两种情况。

collection = pymongo.MongoClient('mongodb://localhost:27017/')['historical'].highjump
1) data = pd.DataFrame(list(collection.find({"min":"null"})))
2) data = pd.DataFrame(list(collection.find({"min":null})))
3) data = pd.DataFrame(list(collection.find({"min":{"$exists":"false"}})))
4) data = pd.DataFrame(list(collection.find({"min":{"$exists":false}})))
Run Code Online (Sandbox Code Playgroud)
  • 1&3) 错误,因为在字段中搜索字符串 null/false 而不是在字段不存在时搜索。
  • 2&4) 错误,因为在 python 中没有定义 null/false。

任何帮助将不胜感激,我可以在 mongo 中运行查询 2 和 4 并返回正确的文档,但我需要从 python shell 运行它。

WGP*_*WGP 6

在方法 4 中用 False 替换 false,或者在 2 中用 None 替换 null 有效。