Spec-Zone.ru › MySQL Connectors 1.0

4.6 Валидация JSON-схем

Коллекции могут быть настроены для проверки документов по JSON-схеме. Это позволяет потребовать определенной структуры документов перед их вставкой или обновлением в коллекции. Вы указываете JSON-схему, как описано на http://json-schema.org. Проверка схемы выполняется сервером, который возвращает сообщение об ошибке, если документ в коллекции не соответствует заданной JSON-схеме. Для получения дополнительной информации о валидации JSON-схем в MySQL, см. . В этом разделе описывается, как настроить коллекцию для проверки документов по JSON-схеме.

Для включения или изменения проверки JSON-схемы вы предоставляете коллекции validation JSON-объект, подобный следующему:

{
    validation: {
      level: "off|strict",
      schema: "json-schema"
    }
}

Здесь validation — JSON-объект, содержащий ключи, которые вы можете использовать для настройки проверки JSON-схемы. Первый ключ — level, который может принимать значение strict или off. Второй ключ, schema, — это JSON-схема, как определено на http://json-schema.org. Если ключ level установлен в значение strict, документы проверяются по json-schema при добавлении в коллекцию или, если они уже находятся в коллекции, при их обновлении некоторыми операциями. Если документ не проходит проверку, сервер генерирует ошибку, и операция завершается неудачно. Если ключ level установлен в значение off, документы не проверяются по json-schema.

Создание валидированной коллекции

Для включения проверки JSON-схемы при создании новой коллекции, предоставьте validation JSON-объект, как описано выше. Например, для создания коллекции, хранящей значения долготы и широты, и требующей проверки этих значений как чисел:

coll = schema.create_collection("longlang", validation={
    "level": "strict",
    "schema":   {
        "id": "http://json-schema.org/geo",
        "$schema": "http://json-schema.org/draft-06/schema#",
        "description": "A geographical coordinate",
        "type": "object",
        "properties": {
            "latitude": {
                "type": "number"
            },
            "longitude": {
                "type": "number"
            }
        },
        "required": ["latitude", "longitude"]
    }
})

Изменение проверки коллекции

Вы можете изменить коллекцию для управления проверкой JSON-схемы документов. Например, вы можете включить или отключить проверку или изменить JSON-схему, по которой проверяются документы.

Для изменения проверки JSON-схемы коллекции, передайте validation JSON-объект при вызове метода Collection.modify(). Например, для отключения проверки JSON-схемы в коллекции, validation объект будет выглядеть так:

{
   validation: {
       "level": "off"
   }
}

При модификации проверки JSON-схемы, вы можете указать только опцию level, чтобы изменить только уровень проверки схемы. Например, передайте JSON-объект, показанный выше, чтобы отключить проверку JSON-схемы. Это не повлияет на ранее указанную JSON-схему и не удалит JSON-схему из коллекции. В качестве альтернативы, вы можете изменить схему, передав только новый JSON-объект схемы.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/x-devapi-userguide-shell-python-en/collection-validation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API