Валидация схемы в MongoDB позволяет тебе применять правила к документам в коллекции, используя стандарт JSON Schema. Она обеспечивает согласованность данных, ограничивая типы данных, обязательные поля, диапазоны значений и шаблоны строк.
Правила валидации определяются через опцию validator при создании или изменении коллекции. MongoDB вычисляет эти правила при каждой операции insert и update по умолчанию.
db.createCollection("users", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "email"],
properties: {
name: { bsonType: "string" },
email: { bsonType: "string", pattern: "^.+@.+$" }
}
}
}
})
$jsonSchema — основной оператор для определения правил валидацииrequired — указывает поля, которые должны присутствовать в каждом документеbsonType — задаёт ожидаемый тип данных для каждого поляpattern — валидирует строковые поля по регулярному выражениюMongoDB предоставляет две важные опции для тонкой настройки применения правил:
validationLevel — контролирует, какие документы валидируются (strict применяет правила ко всем операциям записи; moderate пропускает существующие невалидные документы)validationAction — определяет, что происходит при ошибке (error отклоняет запись; warn логирует проблему, но разрешает операцию)Валидация схемы заполняет пропасть между гибкой моделью документов MongoDB и потребностью в целостности данных. Она особенно полезна в продакшене, где важна согласованность структуры документов.
Ключевое слово pattern в валидации схемы MongoDB использует регулярные выражения для применения ограничений формата на строковые поля.
Новый — ещё не проверен сообществом
Вы