【发布时间】:2018-12-28 00:46:08
【问题描述】:
我有一堆由“数据”和“文本”字段组成的文档。有些文档有任何一个,而有些则没有。我将如何通过 pyMongo 查询以获取具有“数据”字段但没有“文本”字段的文档?
我尝试了以下查询,但 mongo 没有返回任何文件。
方法一:
files = collection.find({"Data": {"$exists": "true"}, {"Text": {"$exists": "false"}})
for file in files:
print(file)
方法 2:
files = collection.find({"$and": [{"Data": {"$exists": "true"}}, {"Text": {"$exists": "false"}}]})
for file in files:
print(file)
注意:我目前正在尝试在没有集合具有“文本”字段(尚未)的数据库上进行查询,但查询仍应按逻辑工作。它是:
返回带有“数据”但没有“文本”的文档
【问题讨论】:
-
试试
"$exists": true而不是"$exists": "true" -
嘿,我正在使用 pyMongo,它是 MongoDB 的原生 python 驱动程序,它只接受字符串中的命令。命令 files = collection.find({"Data": {"$exists": "true"}) 运行良好。