Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Establece reglas de validación para tu esquema

La Validation la pestaña le permite administrar Reglas de validación de esquemas para una colección.

La validación del esquema garantiza que todos los documentos de una colección sigan un conjunto definido de reglas, como ajustarse a una forma específica o permitir solo un rango específico de valores en los campos.

Vista de validación
haga clic para ampliar

El editor de validación admite la validación de esquemas JSON y la validación con expresiones de consulta mediante Validación mediante operadores de consulta.

El operador $jsonSchema es compatible con varios términos clave para indicar reglas de validación. Por ejemplo:

  • La required La matriz define los campos obligatorios en su documento.

  • El objeto properties define reglas para campos de documentos específicos.

Para generar un esquema JSON analizando datos de muestra existentes, consulte Genere las Reglas de Validación.

Considera el siguiente ejemplo de validación:

{
$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 validación especifica:

Para todos $jsonSchema los $jsonSchema disponibles, consulte la página $jsonSchema en el manual de MongoDB.

También puede especificar la validación mediante operadores de consulta, con la excepción de los siguientes operadores de consulta: $near,, $nearSphere $text $wherey.

{
$or: [
{ name: { $type: "string" } },
{ borough: {
bsonType: "string",
enum: [ "Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island" ],
description: "must be one of the enum strings"
} }
]
}

Para utilizar esta validación, se debe cumpliruna de las siguientes condiciones:

  • El campo name debe ser de tipo BSON string.

  • El campo borough debe ser uno de los strings enum.

En la parte superior, especifica un Validation Action y Validation Level:

  • La acción de validación determina si warn pero se aceptan documentos no válidos, o error y se rechazan documentos no válidos.

  • El nivel de validación determina con qué rigor MongoDB aplica las reglas de validación a los documentos existentes.

    • Strict La validación aplica tus reglas a todas las inserciones y actualizaciones de documentos.

    • Moderate La validación solo aplica las reglas a documentos nuevos y válidos existentes. Los documentos inválidos existentes no se ven afectados.

Para detalles sobre acciones y niveles de validación, consulta Especificación de reglas de validación en el manual de MongoDB.

La pestaña Validation no está disponible si está conectado a Atlas Data Federation.

Compass no puede validar un esquema que tiene más de 1000 campos distintos. Si intentas validar un esquema con más de 1000 campos distintos, Compass devuelve un error.

En MongoDB Compass Readonly Edition, solo se pueden ver las reglas de validación. No se permite crear ni editar reglas de validación.

Volver

Perspectivas de rendimiento

En esta página