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.