Definir regras de validação para o seu esquema
Aba Validação
A aba Validation permite a você gerenciar regras de validação do esquema para uma coleção.
A validação do esquema garante que todos os documentos em uma coleção sigam um conjunto definido de regras, como a conformidade com uma forma específica ou apenas permitindo um intervalo específico de valores nos campos.

Regras de Validação
O editor de validação oferece suporte à JSON Validação de esquema e à validação com expressões de query usando a Validação com operadores de query.
Validação de JSON schema
O operador $jsonSchema suporta várias palavras-chave para especificar regras de validação. Por exemplo:
O array
required
define os campos obrigatórios no documento.O objeto
properties
define regras para campos de documentos específicos.
Para gerar um JSON schema analisando dados de amostra existentes, consulte Gerar regras de validação.
Exemplo
Considere o seguinte exemplo de validação:
{ $jsonSchema: { bsonType: "object", required: [ "address", "borough", "name" ], properties: { address: { bsonType: "object", properties: { coord: { bsonType: "array", items: [ { bsonType: "double", minimum: -180, maximum: 180, exclusiveMaximum: false, description: "must be a number in [ -180, 180 ]" }, { bsonType: "double", minimum: -90, maximum: 90, exclusiveMaximum: false, description: "must be a number in [ -90, 90 ]" } ] } }, description: "must be an object" }, borough: { bsonType: "string", enum: [ "Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island" ], description: "must be one of the enum strings" } } } }
Esta validação especifica:
A lista de campos necessários.
O bsonType para todos os campos obrigatórios.
Os valores aceitos para o campo
borough
, utilizando enumeração.
Para todas as palavras-chave do $jsonSchema
disponíveis, consulte a página $jsonSchema no manual do MongoDB.
Validação usando Operadores de Query
Também é possível especificar a validação utilizando operadores de query, com exceção dos seguintes operadores de query: $near
, $nearSphere
, $text
e $where
.
{ $or: [ { name: { $type: "string" } }, { borough: { bsonType: "string", enum: [ "Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island" ], description: "must be one of the enum strings" } } ] }
Usando esta validação, um dos seguintes deve ser verdadeiro:
O campo
name
deve ser string do tipo BSON.O campo
borough
deve ser uma das strings de enumeração.
Ações e Níveis de Validação
Na parte superior, especifique uma Validation Action e um Validation Level:
A ação de validação determina se
warn
aceita documentos inválidos ouerror
e rejeita documentos inválidos.O nível de validação determina o quão estritamente o MongoDB aplica as regras de validação aos documentos existentes.
Strict
a validação aplica suas regras a todas as inserções e atualizações de documentos.Moderate
a validação só aplica suas regras a novos documentos e documentos válidos existentes. Documentos inválidos existentes não são afetados.
Para obter detalhes sobre ações de validação e níveis, consulte Especificar Regras de Validação no manual MongoDB.
Começar
Limitações
A aba Validation não está disponível se você estiver conectado ao Atlas Data Federation.
O Compass não pode validar um esquema que tenha mais de 1000 campos distintos. Se você tentar validar um esquema com mais de 1000 campos distintos, o Compass retornará um erro.
No MongoDB Compass Readonly Edition, você só pode visualizar regras de validação. Não é permitido criar e editar regras de validação.