Menu Docs
Página inicial do Docs
/ /

Definir regras de validação para o seu esquema

A aba Validation permite a você gerenciar regras de validação de esquema para uma collection.

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.

Visualização de validação
clique para ampliar
1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Data Explorer sob o título Database.

    O Data Explorer é exibido.

Observação

Você também pode ir para a página Clusters e clicar em Data Explorer sob o título Shortcuts.

2
  1. Selecione a collection.

  2. Clique na aba Validation.

O editor de validação oferece suporte à validação de esquema JSON e à validação com expressões de query usando operadores de query. Depois de clicar no botão Update, o Atlas atualiza para exibir um documento de sua coleção que passa na validação e um documento que falha.

Para especificar a validação do JSON schema, use o operador $jsonSchema.

{
$jsonSchema: {
required: ['name', 'borough'], // the name and borough fields are required
properties: {
cuisine: {
bsonType: "string",
description: "must be a string"
}
}
}
}

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.

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:

Para todas as palavras-chave do $jsonSchema disponíveis, consulte a página $jsonSchema no manual do MongoDB.

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.

Na parte superior, especifique uma Validation Action e um Validation Level:

  • A ação de validação determina se warn aceita documentos inválidos ou error 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.

Dica

A aba Validation não está disponível se você estiver conectado ao Atlas Data Federation.

Voltar

Insights de Desempenho

Nesta página