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.
Requisito previo
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.
Ejemplo: db.getCollectionInfos() Sintaxis
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.
Ejemplo: listCollections Sintaxis
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 }