Pymongo:如何检查字段是不是存在

Posted

技术标签:

【中文标题】Pymongo:如何检查字段是不是存在【英文标题】:Pymongo: How to check if field existsPymongo:如何检查字段是否存在 【发布时间】:2018-12-17 01:12:35 【问题描述】:

我正在使用 PyMongo 从我的收藏中获取文档。一切正常,直到我尝试将结果限制为仅在选择某个集合时获取存在特定字段的文档。这是我的代码

query["is_approved"] = None
if source_collection == "collection-name":
    query["field_to_check_for"]['exists'] = True


sort = [("created_date", -1)]
cursor = c.find(query, sort=sort).limit(20)

上面的代码在

行抛出 400 'bad request' 错误

查询["field_to_check_for"]['exists'] = True

我也试过

查询["field_to_check_for"] = "存在"

但是返回一个空结果

【问题讨论】:

【参考方案1】:

您的查询字典格式错误,请试试这个:

query = "field_to_check_for": "$exists": True
cursor = db.collection-name.find(query)  

【讨论】:

$exists 不是 $exist 你拯救了我的一天!

以上是关于Pymongo:如何检查字段是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

使用 pyMongo 创建 ISODate

在 PyMongo 中使用 $not $in $regex

如何检查 ResultSet 中是不是存在字段?

Django:如何检查自定义小部件定义中是不是存在字段错误?

如何检查文档字段类型数组中是不是存在元素?扑

如何在mongodb聚合中检查子字段是不是存在且不为空?