【问题标题】:Querying for null field using pymongo使用 pymongo 查询空字段
【发布时间】:2017-04-20 17:42:13
【问题描述】:

我想使用 python 在 mongo 中查询一个 null 字段,但是它很难处理 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}})))
  • 1&3) 错误,因为在字段中搜索字符串 null/false 而不是在字段不存在时进行搜索。
  • 2&4) 错误,因为在 python 中没有定义 null/false。

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

【问题讨论】:

    标签: python mongodb null pymongo


    【解决方案1】:

    在方法 4 中将 false 替换为 False,或者在 2 中将 null 替换为 None 都可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2020-12-23
      相关资源
      最近更新 更多