Pestaña de validación
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.

Ver la Validation pestaña
En Atlas, ve a la página Data Explorer de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Data Explorer en la sección Database.
El Data Explorer se muestra.
Reglas de validación
El editor de validación admite la validación de esquema JSON, y la validación mediante expresiones de consulta utilizando operadores del query. Después de hacer clic en el botón Update, Atlas se actualiza para mostrar un documento de tu colección que pasa la validación y un documento que falla.
Validación de esquema JSON
Para especificar la validación del esquema JSON, utilice el operador $jsonSchema.
{ $jsonSchema: { required: ['name', 'borough'], // the name and borough fields are required properties: { cuisine: { bsonType: "string", description: "must be a string" } } } }
El operador $jsonSchema es compatible con varios términos clave para indicar reglas de validación. Por ejemplo:
La
requiredLa matriz define los campos obligatorios en su documento.El objeto
propertiesdefine reglas para campos de documentos específicos.
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 mínimo y máximo en la
address.coordmatriz.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 de consulta
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" } } ] }
Para utilizar esta validación, se debe cumpliruna de las siguientes condiciones:
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
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 tus 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 detalles sobre acciones y niveles de validación, consulta Especificación de reglas de validación en el manual de MongoDB.
Limitaciones
La pestaña Validation no está disponible si está conectado a Atlas Data Federation.