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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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 MongoDB JSON模式验证程序;未解析引用“;_Python_Mongodb_Pycharm_Jsonschema_Json Schema Validator - Fatal编程技术网

Python MongoDB JSON模式验证程序;未解析引用“;

Python MongoDB JSON模式验证程序;未解析引用“;,python,mongodb,pycharm,jsonschema,json-schema-validator,Python,Mongodb,Pycharm,Jsonschema,Json Schema Validator,我对Python和MongoDB都比较陌生,我正在使用Python设置MongoDB数据库并创建一个带有模式验证的集合。但是,当我创建MongoDB文档中指定的集合时,如下所示: db.create_collection("collection", { validator: { "$schema": "schema_stuff", "property1":"..." } Pycharm抛出一个错误:“未解析的引用‘

我对Python和MongoDB都比较陌生,我正在使用Python设置MongoDB数据库并创建一个带有模式验证的集合。但是,当我创建MongoDB文档中指定的集合时,如下所示:

db.create_collection("collection", {
        validator: {
            "$schema": "schema_stuff",
            "property1":"..."
        }
Pycharm抛出一个错误:“未解析的引用‘验证器’”

我怀疑这可能与我的进口有关,但我不确定

from pymongo import MongoClient

知道为什么会发生这种情况吗?

之所以会发生这种情况,是因为您试图放入validator的是一个字典,
validator
应该是Python不知道的变量/对象。正确的做法是使用
'validator'
“validator”
而不是
validator

使用验证程序创建集合的正确查询应如下所示:

validator = {'validator': {'your validation stuff'}}    
db.create_collection("collection", validator=validator)
db.create_collection("collection", validator={'validator': 'your validation stuff'})
或者像这样:

validator = {'validator': {'your validation stuff'}}    
db.create_collection("collection", validator=validator)
db.create_collection("collection", validator={'validator': 'your validation stuff'})

之所以会发生这种情况,是因为您试图放入验证器的是一个字典,
validator
应该是一个Python不知道的变量/对象。正确的做法是使用
'validator'
“validator”
而不是
validator

使用验证程序创建集合的正确查询应如下所示:

validator = {'validator': {'your validation stuff'}}    
db.create_collection("collection", validator=validator)
db.create_collection("collection", validator={'validator': 'your validation stuff'})
或者像这样:

validator = {'validator': {'your validation stuff'}}    
db.create_collection("collection", validator=validator)
db.create_collection("collection", validator={'validator': 'your validation stuff'})