Cómo usar el operador $ jsonschema en MongoDB

Cómo usar el operador $ jsonschema en MongoDB
MongoDB es un tipo de base de datos NoSQL para administrar datos a gran escala. La característica más destacada que permitió a MongoDB ganar alturas es el soporte de esquema flexible en comparación con el tipo de bases de datos SQL. Proporciona soporte para un operador de esquema JSON nombrado como $ jsonschema que ayuda a validar los documentos JSON. El operador $ JSonschema en MongoDB ayuda a realizar varias operaciones como Inserción, eliminación siguiendo el esquema JSON especificado.

En este artículo, proporcionaremos una idea para usar el operador $ Jsonschema en MongoDB y el proceso para hacer que el documento basado en el esquema JSON también se proporcione. Comencemos esta guía comprendiendo el esquema JSON seguido de su trabajo y uso en MongoDB.

¿Qué es el esquema JSON?

Es un documento JSON que ayuda a definir la estructura de un mensaje JSON y puede usarse para validar los documentos JSON. También se puede utilizar para validar las solicitudes de API para verificar el formato, los tipos de datos de las solicitudes de API también. Por lo general, el esquema JSON se crea antes de cualquier mensaje JSON y debe seguirse para cualquier acción más compatible. Sin embargo, también se puede practicar después de los documentos JSON también. Si algún documento JSON o solicitud de API no sigue el esquema JSON especificado, no podrá obtener la salida requerida.

Cómo usar el operador $ jsonschema en MongoDB

A continuación se proporciona la sintaxis para usar $ jsonschema en MongoDB:

$ jsonschema:

En nuestro caso, hemos usado el "clientes"Colección en un"Linuxhint"Base de datos:

Ejemplo 1: Uso de $ jsonschema para definir un esquema para la operación de inserción

En primer lugar, debe especificar el $ jsonschema Durante la creación de la colección en MongoDB: para esto, debe seguir la sintaxis mencionada a continuación:

Sintaxis: (para establecer reglas de validación para una colección en MongoDB)

db.createCollection (, Validator: $ jsonschema:)

En la sintaxis anterior,

: Se refiere al nombre que establecerá para una nueva colección

"validador": Es una palabra clave predefinida para iniciar la validación

: Contiene las reglas; Por ejemplo, los tipos de BSON se pueden configurar para cada campo.

Después de la sintaxis, hemos creado un "clientes"Colección y $ jsonschema El operador se utiliza para definir reglas de validación de esquemas en él:

db.createCollection ("clientes",
Validador:
$ jsonschema:
bsontype: "objeto",
Requerido: ["Nombre", "año", "gato"],
propiedades:
nombre:
bsontype: "cadena",
Descripción: "El nombre debe ser un valor de cadena"
,
año:
bsontype: "int",
Descripción: "Debe ser un entero como 2021)"
,
gato:
bsontype: "cadena",
"Descripción": "Un valor de cadena"




)

Ahora el siguiente comando se usa aquí para insertar los campos especificados en el "clientes" recopilación. El comando satisface las reglas de validación del esquema JSON:

> DB.clientes.insertar(
Nombre: "Alen",
Año: NumberInt (2021),
CAT: "Autor"
)

Por ejemplo, si no se siguen las reglas; El comando mencionado a continuación intenta insertar un entero valor en "gato"Campo: como el"gato"Field solo puede aceptar el"cadena"Valores, por lo tanto, la consulta Mongo mencionada a continuación dará un error:

> DB.clientes.insertar(
Nombre: "Alen",
Año: NumberInt (2021),
CAT: NumberInt (123)
)

Ejemplo 2: Uso del operador de $ jsonschema en documentos de lectura de MongoDB

Con la ayuda de $ jsonschema, puede encontrar documentos insertados que sigan el esquema JSON definido en la consulta: debe definir el esquema JSON en su "encontrar()"Método de consulta:

En este ejemplo, "mi colección"Se usa y los siguientes documentos reside dentro de él:

> DB.mi colección.encontrar().bonito()

Hemos creado el siguiente objeto de esquema con el nombre de "Linuxhintschema":

Deje que Linuxhintschema =
Requerido: ["Nombre", "Salario", "Designación"],
propiedades:
Nombre: BsonType: "String",
Salario: bsontype: "double",
designación: bsontype: "string"

Ahora, para encontrar los documentos que siguen las reglas de Linuxhintschema; Puede usar el comando mencionado a continuación para hacerlo:

> DB.mi colección.Find ($ jsonschema: Linuxhintschema).bonito()

Usando $ ni con $ jsonschema operador: Además, puedes usar $ni Operador con $ jsonschema operador para encontrar esos documentos que no satisfacen el esquema especificado:

> DB.mi colección.Find ($ Nor: [$ jsonschema: Linuxhintschema]).bonito()

Uso del operador de $ jsonschema con el método $ ni operador y eliminación: Mediante el uso "$ jsonschema" con "$ ni" y "Borrar"Método, puede eliminar los documentos que no satisfacen el esquema JSON (Linuxhintschema) utilizando el comando indicado a continuación:

> DB.mi colección.Deletemany ($ Nor: [$ jsonschema: Linuxhintschema])

Conclusión

Los sistemas de gestión de bases de datos se centran en manipular los datos de una organización de manera efectiva. El operador $ Jsonschema se utiliza para que coincida con los documentos que siguen las reglas del esquema JSON; Estas reglas son definidas por los usuarios. Además de recuperar, el operador de $ jsonschema se puede utilizar para definir el conjunto de reglas para la operación de inserción en MongoDB. Cualquier consulta de inserción que satisfaga el esquema JSON podrá colocar datos en la colección relevante.