Pestaña de validación
La Validation La pestaña permite gestionar la validación de esquema para una colección.
La validación de esquemas garantiza que todos los documentos de una colección sigan un conjunto definido de reglas, como ajustarse a una estructura específica o permitir solo un rango especificado de valores en los campos.

Reglas de validación
El editor de validación es compatible con la validación del esquema JSON, y validación con expresiones de query usando validación usando operadores del query.
Validación de esquema JSON
El operador $jsonSchema es compatible con varios términos clave para indicar reglas de validación. Por ejemplo:
El arreglo
requireddefine los campos requeridos en tu documento.El objeto
propertiesdefine reglas para campos de documentos específicos.
Para generar un JSON schema mediante el análisis de datos de muestra existentes, consulta Generar reglas de validación.
Ejemplo
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:
La lista de campos requeridos.
El bsonType para todos los campos obligatorios.
Los valores aceptables para el campo
borough, usando enum.
Para todos $jsonSchema los $jsonSchema disponibles, consulte la página $jsonSchema en el manual de MongoDB.
Validación mediante operadores del query
También puedes especificar la validación utilizando operadores del query, con la excepción de los siguientes operadores del query: $near, $nearSphere, $text y $where.
{ $or: [ { name: { $type: "string" } }, { borough: { bsonType: "string", enum: [ "Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island" ], description: "must be one of the enum strings" } } ] }
Al utilizar esta validación, una de las siguientes condiciones debe ser verdadera:
El campo
namedebe ser de tipo BSON string.El campo
boroughdebe ser uno de los strings enum.
Acciones y niveles de validación
En la parte superior, especifica un Validation Action y Validation Level:
La acción de validación determina si se debe
warnpero aceptar documentos inválidos, oerrory rechazar documentos inválidos.El nivel de validación determina cómo MongoDB aplica estrictamente las reglas de validación a los documentos existentes.
StrictLa validación aplica tus reglas a todas las inserciones y actualizaciones de documentos.Moderatela validación solo aplica sus reglas a los nuevos documentos y a los documentos 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.
Empezar
Limitaciones
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 puedes ver las reglas de validación. No se permite crear ni editar reglas de validación.