Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
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, usa 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