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
/ /

Ver las reglas de validación existentes

Se pueden consultar las reglas de validación de una colección para determinar qué restricciones se imponen a los documentos y cómo gestiona MongoDB los documentos no válidos cuando se producen.

Para ver las reglas de validación de una colección, utilice el db.getCollectionInfos()Método o listCollections comando de base de datos.

Ambos comandos devuelven la misma información, pero el formato de salida varía entre cada uno de ellos.

Para ejecutar los ejemplos en esta página, crea una colección students con reglas de validación. Para obtener más información, consulte Especificar la validación del esquema JSON.

El siguiente comando usa db.getCollectionInfos() para devolver las reglas de validación para la colección students:

db.getCollectionInfos( { name: "students" } )[0].options.validator

El resultado se asemeja al siguiente objeto de validación:

{
'$jsonSchema': {
bsonType: 'object',
required: [ 'name', 'year', 'major', 'address' ],
properties: {
name: {
bsonType: 'string',
description: 'must be a string and is required'
},
year: {
bsonType: 'int',
minimum: 2017,
maximum: 3017,
description: 'must be an integer in [ 2017, 3017 ] and is required'
},
gpa: {
bsonType: [ 'double' ],
description: 'must be a double if the field exists'
}
}
}
}

Nota

La acción y el nivel de validación no se incluyen por defecto.

Si validationAction y validationLevel no se establecen explícitamente, db.getCollectionInfos() no incluye esos campos en su salida.

El siguiente comando usa listCollections para devolver las reglas de validación para la colección students:

db.runCommand ( { listCollections: 1, filter: { name: "students" } } )

La salida se asemeja al siguiente objeto:

{
cursor: {
id: Long("0"),
ns: 'test.$cmd.listCollections',
firstBatch: [
{
name: 'students',
type: 'collection',
options: {
validator: {
'$jsonSchema': {
bsonType: 'object',
required: [ 'name', 'year', 'major', 'address' ],
properties: {
name: {
bsonType: 'string',
description: 'must be a string and is required'
},
gpa: {
bsonType: [ 'double' ],
description: 'must be a double if the field exists'
}
}
},
validationAction: 'warn'
}
},
info: {
readOnly: false,
uuid: UUID("bf560865-5879-4ec1-b389-f77a03abbc5a")
},
idIndex: { v: 2, key: { _id: 1 }, name: '_id_' }
}
]
},
ok: 1
}

Volver

Omitir

En esta página