Docs Menu
Docs Home
/ /

Establece reglas de validación para tu esquema

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.

Vista de validación
haga clic para ampliar
1
  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Explorer en la sección Database.

    El Data Explorer se muestra.

2
  1. Seleccione la colección.

  2. Haz clic en la pestaña Validation.

El editor de validación admite la validación de esquemas JSON y la validación con expresiones de consulta mediante operadores de consulta. Tras hacer clic en el Update botón, Atlas se actualiza para mostrar un documento de su colección que supera la validación y uno que no.

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 admite varias palabras clave para especificar reglas de validación. Por ejemplo:

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

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

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:

Para todas las $jsonSchema palabras clave 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$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 name debe ser una cadena de tipo BSON.

  • El campo borough debe ser una de las cadenas de enumeración.

En la parte superior, especifique un Validation Action y un 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 sus 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 obtener detalles sobre las acciones y niveles de validación, consulte Especificar reglas de validación en el manual de MongoDB.

Tip

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

Volver

Perspectivas de rendimiento

En esta página