Pestaña de validación
El Validation La pestaña le permite administrar Reglas de validación de esquema 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.

Reglas de validación
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.
Validación del esquema JSON
El operador $jsonSchema admite varias palabras clave para especificar reglas de validación. Por ejemplo:
El
requiredLa matriz define los campos obligatorios en su documento.El objeto
propertiesdefine reglas para campos de documentos específicos.
Para generar un esquema JSON analizando datos de muestra existentes, consulte Generar reglas de validación.
Ejemplo
Considere 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:
El bsonType para todos los campos obligatorios.
Los valores mínimo y máximo en la
address.coordmatriz.Los valores aceptables para el
boroughcampo, utilizando enumeración.
Para todas las $jsonSchema palabras clave disponibles, consulte la página $jsonSchema en el manual de MongoDB.
Validación mediante operadores de consulta
También puede especificar la validación mediante operadores de consulta, con la excepción de los siguientes operadores de$near consulta:,, $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
namedebe ser una cadena de tipo BSON.El campo
boroughdebe ser una de las cadenas de enumeración.
Acciones y niveles de validación
En la parte superior, especifique un Validation Action y un Validation Level:
La acción de validación determina si
warnpero se aceptan documentos no válidos, oerrory 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.
StrictLa validación aplica sus reglas a todas las inserciones y actualizaciones de documentos.ModerateLa validación solo aplica las reglas a documentos nuevos y válidos existentes. Los documentos inválidos existentes no se ven afectados.
Para obtener detalles sobre las acciones y niveles de validación, consulte Especificar reglas de validación en el manual de MongoDB.
Empezar
Limitaciones
La Validation pestaña no está disponible si está conectado a Atlas Data Federation.
Compass no puede validar un esquema con más de 1000 campos distintos. Si intenta 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.