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

var coll = schema.createCollection("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-схемы коллекции предоставьте JSON-объект validation при вызове метода Collection.modify(). Например, для изменения коллекции с отключением проверки JSON-схемы, 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-js-en/collection-validation.html

Spec-Zone.ru

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