Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查包含字段列表的文档_Python_Mongodb_Pymongo - Fatal编程技术网

Python 如何检查包含字段列表的文档

Python 如何检查包含字段列表的文档,python,mongodb,pymongo,Python,Mongodb,Pymongo,我有一个mongodb集合,其中包含包含必需和非必需数据的文档。我知道如何使用$exists操作符创建查询来检查字段是否存在,但是我不想在查询中定义必填字段,因为列表很长,可能会发生更改(并且在别处定义) 以下内容非常适合检查已知字段: db.collectionofstuff.find({fieldIneed:{$exists:False}}) 但是,我想要这样的功能: db.collectionofstuff.find({<list of fields from datadescri

我有一个mongodb集合,其中包含包含必需和非必需数据的文档。我知道如何使用$exists操作符创建查询来检查字段是否存在,但是我不想在查询中定义必填字段,因为列表很长,可能会发生更改(并且在别处定义)

以下内容非常适合检查已知字段:

db.collectionofstuff.find({fieldIneed:{$exists:False}})
但是,我想要这样的功能:

db.collectionofstuff.find({<list of fields from datadescriptorjson>:{$exists:Falze}})
使用此配置文件:

datadescriptorjson = {"thing1": {"count": 2,"range": 3},"thing2":{"pace": 12.5, "consistency": "angry"}}
创建一个查询查找/聚合,如下所示:

db.collectionofstuff.find({<list of fields from datadescriptorjson>:{$exists:Falze}})
db.collectionofstuff.find({:{$exists:Falze})

无论如何,我不知道如何直接使用聚合框架或使用简单的查找来完成它

没有这样的功能,您必须手动测试每个字段。当然,您可以循环您的配置数据,并由此重新创建查询。但是,这应该是您在应用程序中执行的操作。

在您的示例“配置文件”中,您试图检查哪些必填字段?JSON中存在的所有字段?是的,JSON配置文件中的所有字段都是必需的。