Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$jsonSchema
Nuevo a partir de la versión 4.0.
No es compatible con el clúster de Elastic.
El $jsonSchema operador de Amazon DocumentDB se utiliza para filtrar documentos en función de un esquema JSON específico. Este operador le permite consultar documentos que coinciden con un esquema JSON concreto, lo que garantiza que los documentos recuperados cumplan con requisitos estructurales y de tipo de datos específicos.
Al utilizar el operador de consulta de $jsonSchema evaluación como parte de la creación de una colección, puede validar el esquema de los documentos que se van a insertar en la colección. Para obtener información adicional, consulte Cómo utilizar la validación de esquemas JSON.
Parámetros
-
required(matriz): especifica los campos obligatorios del documento. -
properties(objeto): define el tipo de datos y otras restricciones para cada campo del documento.
Ejemplo (MongoDB Shell)
En el siguiente ejemplo se muestra el uso del $jsonSchema operador para filtrar la employees colección y recuperar únicamente los documentos que tengan los age campos employeeId yname, si el employeeId campo es del tipo. string
Cree documentos de muestra
db.employees.insertMany([ { "name": { "firstName": "Carol", "lastName": "Smith" }, "employeeId": "1" }, { "name": { "firstName": "Emily", "lastName": "Brown" }, "employeeId": "2", "age": 25 }, { "name": { "firstName": "William", "lastName": "Taylor" }, "employeeId": 3, "age": 24 }, { "name": { "firstName": "Jane", "lastName": "Doe" }, "employeeId": "4" } ]);
Ejemplo de consulta
db.employees.aggregate([ { $match: { $jsonSchema: { required: ["name", "employeeId", "age"], properties: { "employeeId": { "bsonType": "string" } } } }} ]);
Salida
{ "_id" : ObjectId("6908e8b61f77fc26b2ecd26f"), "name" : { "firstName" : "Emily", "lastName" : "Brown" }, "employeeId" : "2", "age" : 25 }
Ejemplos de código
Para ver un ejemplo de código para usar el $jsonSchema comando, elija la pestaña del idioma que desee usar: