A validação de esquema permite criar regras de validação para seus campos, como tipos de dados permitidos e intervalos de valores.
O MongoDB usa um modelo de esquema flexível, o que significa que os documentos em uma collection não precisam ter os mesmos campos ou tipos de dados por padrão. Depois de estabelecer um esquema de aplicativo, você pode usar a validação de esquema para garantir que não haja alterações de esquema não intencionais ou tipos de dados impróprios.
Você pode implementar a validação de esquema na IU para implantações hospedadas no MongoDB Atlas.
Quando usar a validação de esquema
As necessidades de validação de esquema dependem de como os usuários usam seu aplicativo. O esquema flexível do MongoDB facilita a evolução do seu modelo de dados, especialmente nos estágios iniciais de desenvolvimento. No entanto, à medida que seu modelo de dados se estabiliza, a validação de esquema pode ser uma maneira útil de garantir que os dados tenham a aparência desejada. A validação de esquema é mais útil para um aplicativo estabelecido em que você tem uma boa noção de como organizar seus dados.
Observação
As regras de validação de esquema também são flexíveis, portanto, não precisam cobrir todos os campos de um documento, a menos que seu aplicativo exija que o façam.
Você pode usar a validação de esquema nos seguintes cenários:
Para uma coleção
events, certifique-se de que o campostart_dateseja armazenado apenas como uma data e não como uma string, para que os aplicativos de conexão não usem tipos inesperados.Para uma coleção do
store, certifique-se de que o campoaccepted_credit_cardspertença a uma lista de cartões de crédito aceitos pela sua loja, como["Visa", "MasterCard", "American Express"]. Essa validação impede que um usuário insira um valor de cartão de crédito não suportado.Para uma coleção de alunos, certifique-se de que o campo
gpaseja sempre um número de ponto flutuante positivo. Esta validação evita erros durante a entrada de dados.
Quando o MongoDB verifica a validação
Depois de adicionar regras de validação de esquema a uma collection:
Todas as inserções de documentos devem corresponder às regras.
O nível de validação do esquema define como as regras são aplicadas aos documentos existentes e às atualizações de documentos. Para saber mais,consulte Especificar nível de validação para documentos existentes.
Para localizar documentos em uma collection que não correspondam às regras de validação do esquema, consulte Localizar documentos que não correspondem ao esquema.
O que acontece quando um documento falha na validação
Por padrão, quando uma operação de inserção ou atualização resultaria em um documento inválido, o MongoDB rejeita a operação e não grava o documento na coleta.
Como alternativa, você pode configurar o MongoDB para permitir documentos inválidos e registrar avisos quando ocorrerem violações de esquema.
Para saber mais, consulte Escolher como lidar com documentos inválidos.
Começar
Para tarefas comuns envolvendo validação de esquema, consulte as seguintes páginas:
Saiba mais
Para saber mais sobre o modelo de esquema flexível do MongoDB, consulte Modelagem de dados no MongoDB.