Novidade!!! Governança de dados no MongoDB!
Sobre as novidades do MongoDB 3.6 uma delas me deixou feliz… Um recurso nativo que permite a validação de schemas!!!
A minha primeira consideração é que a MongoDB reconhece a importância da governança de dados a ponto de criar este recurso fantástico para um banco de dados que tem como característica a ausência de um schema fixo, sem descaracterizá-lo
Ao criar uma coleção é possível determinar:
- O nome de cada atributo que faz parte da coleção
- O tipo de cada atributo;
- Os valores máximos e valores mínimos;
- Listas de valores permitidos;
- A definição de cada atributo;
- Atributos obrigatórios.
Olha que fantástico!!! Abaixo temos um exemplo, a criação da coleção students (retirei o exemplo do site do MongoDB)
db.createCollection(“students”, {
validator: {
$jsonSchema: {
bsonType: “object”,
required: [ “name”, “year”, “major”, “gpa” ],
properties: {
name: {
bsonType: “string”,
description: “must be a string and is required”
},
gender: {
bsonType: “string”,
description: “must be a string and is not required”
},
year: {
bsonType: “int”,
minimum: 2017,
maximum: 3017,
exclusiveMaximum: false,
description: “must be an integer in [ 2017, 3017 ] and is required”
},
major: {
enum: [ “Math”, “English”, “Computer Science”, “History”, null ],
description: “can only be one of the enum values and is required”
},
gpa: {
bsonType: [ “double” ],
minimum: 0,
description: “must be a double and is required”
}
}
}
}
})
Quando a validação do schema ocorre?
Isso fica ao gosto do freguês! Você pode determinar quando as validações irão ocorrer. Por padrão durante atualizações e inserções de documentos na coleção.
E as coleções existentes?
Imagina que você tem uma coleção criada com uma versão anterior do MongoDB, e deseja validar os documentos desta coleção… Neste caso é possível adicionar a validação a uma coleção já existente. Ou seja, não há desculpas para não ter governança de dados no MongoDB!
Para finalizar
Em breve farei alguns posts detalhando este assunto, aguardem as novidades! Enquanto eu não posto , porque você não dá uma olhada com carinho no site do MongoDB?
No clima de Natal, trago boas notícias! E desejo que você possa melhorar muito a qualidade e a governança dos seus dados!
Este post está disponível também em Inglês!!!