En la programación, tendemos a usar los operadores de contador, incremento y disminución de los términos para agregar o restar un cierto valor para una variable o un recuento de bucle. Al igual que otro lenguaje de programación, a MongoDB se le ocurrió el operador "$ Inc" para agregar un cierto valor al valor ya existente en un campo. El operador "$ Inc" no solo aumenta el valor, sino que también puede disminuir el valor. El valor a sumar a un cierto campo puede ser positivo o negativo de acuerdo con la situación: valor positivo para sumar y negativo para restar. Este artículo lo ayuda a usar el operador "$ Inc" dentro de los comandos de shell MongoDB.
Generar una colección en MongoDB
El primer paso hacia el uso del operador "$ Inc" en MongoDB es tener algunos datos en la base de datos en la que se puede aplicar el operador "$ Inc". Por lo tanto, debemos tener una colección de bases de datos en nuestro sistema MongoDB para comenzar a usarla. Para esto, generamos un nombre de colección vacío, "Test", después de usar la función "CreateCollection" en la consola MongoDB.
Prueba> DB.createCollection ("prueba")
El reconocimiento "OK: 1" muestra que la colección vacía "Test" ahora se genera. Para ver esto, pruebe la consulta de funciones "find ()" junto con el nombre de una colección como en la siguiente ilustración. En este momento, muestra que esta colección no tiene discos.
Prueba> DB.Prueba.encontrar()
Agregar registros a la colección
El segundo paso hacia el uso del operador "$ Inc" en MongoDB es agregar los registros a una colección recientemente generada, "Test". Para esto, descartamos la consulta de función InsertMany () que está precedida por el nombre de una colección, "Prueba". Se agregan un total de 3 registros a esta colección. Cada uno de sus registros contiene 3 campos individuales - Título de identificación, edad y 1 campo de formato de documento. Los campos dentro de un campo como "puntaje" y "posición" residen en el campo "Datos".
Prueba> DB.Prueba.insertMany ([id: 1, título: "Edén", edad: 22, datos: puntaje: 450, posición: 2,
… Id: 2, título: "Bella", Edad: 21, Datos: Puntuación: 498, Posición: 1,
… Id: 3, título: "Lia", edad: 22, datos: puntaje: 442, posición: 3])
La salida de imagen previamente unida muestra que la inserción se lleva a cabo con éxito al final. Ahora, es hora de mostrar esos registros agregados. Para mostrarlo, la consulta de funciones "Find" de MongoDB que está precedida por el nombre de la colección, "Test", nos ayuda como ya lo usamos en el ejemplo anterior. Los 3 registros de la colección "Prueba" se muestran como se muestra en lo siguiente:
Prueba> DB.Prueba.encontrar()
Ejemplo 1: modificar un solo campo en un solo registro
Comenzando con este ejemplo, usamos el operador "$ Inc" para sumar un valor en un solo campo de cualquier registro. Para hacer eso, debe probar la función "updateOne" dentro de la instrucción "db" seguida de la colección "prueba". Este comando debe comenzar con la identificación de un número de registro a través de su campo específico, la "ID: 1". Después de esto, otro conjunto comienza con el uso del operador "$ Inc" que se aplica a un cierto campo único con algún valor numérico. Este valor numérico se incrementa en el valor real del campo que es "edad". La ejecución de esta consulta muestra el reconocimiento.
Prueba> DB.Prueba.updateOne (id: 1, $ inc: edad: -1)
Obtenemos el registro "1" de la colección "Prueba" utilizando la "ID: 1" como identificación en la función "Buscar" de la consulta "DB". La salida demuestra que el campo de "edad" se incrementa con éxito por un valor "-1" para un registro de "1", yo.mi. Edad = 22 + (-1) = 21.
Prueba> DB.Prueba.encontrar (id: 1)
Ejemplo 2: modificar múltiples campos en un solo registro
Usemos el operador "$ Inc" en la colección "prueba" para incrementar los valores de campo múltiples, incluido el campo de tipo de documento. Recuerde que estos incrementos en múltiples campos solo se aplican a un solo registro en una colección de "prueba". Entonces, la función UpdateOne () se utiliza nuevamente para actualizar el número de registro "2" de la colección "Prueba" identificada por "ID: 1". El operador "$ Inc" se aplica al campo "Age" de formato único para agregar su valor anterior con "-1". Además, los campos de "puntuación" y "posición" dentro del campo de "datos" de formato de documento se incrementan en "580" y "2", respectivamente, según la salida utilizando el producto "DOT".
Prueba> DB.Prueba.updateOne (id: 2, $ inc: Age: -1, "datos.Puntaje ": 580", datos.Posición ": 2)
Después de modificar el registro "2" de la colección de "prueba", lo echamos un buen vistazo por separado a través de la función "encontrar" que se utiliza en la instrucción "db" mencionando el "ID: 2" para que un registro sea identificado. El valor de un solo registro, "Age", junto con los campos de puntuación y posición dentro de un campo "Datos" anidado, se incrementa con éxito por el operador "$ Inc".
Prueba> DB.Prueba.Find (id: 2)
Ejemplo 3: Modificar múltiples campos en múltiples registros
Después de modificar los registros de campo individuales y múltiples en un solo registro, ahora modifiquemos los múltiples campos de múltiples registros en una colección mediante el uso del operador "$ Inc". Para esto, modificamos la consulta de "actualización". En lugar de usar la función "updateOne", descartamos la función "actualización" para modificar más de 1 registro de una colección de "prueba". Esta instrucción "DB" puede usar el campo "ID" para múltiples registros o simplemente dejar los soportes rizados "" vacío para modificar todos los registros de la colección. El operador "$ Inc" modifica los campos de edad, puntaje y posición de todos los 3 registros seguidos para la colección "Prueba". El recuento modificado "3" muestra el reconocimiento después de la ejecución de esta consulta.
Prueba> DB.Prueba.UpdateMany (, $ inc: edad: 1, "Datos.Puntaje ": 50", datos.Posición ": -1)
Después de modificar los múltiples campos de múltiples registros después de aplicar el operador "$ Inc", es nuestro derecho echar un vistazo a estos registros modificados a través de la instrucción "DB". Después de mostrar todos los 3 registros de la colección de "prueba", encontramos que todos los campos especificados previamente se incrementan por valores específicos para todos los 3 registros.
Prueba> DB.Prueba.encontrar()
Conclusión
Este artículo incluye la comparación de operadores de incrementos de otros lenguajes de programación y el operador "$ Inc" de MongoDB en su párrafo introductorio. Después de probar ciertos ejemplos de consulta en el shell MongoDB, ilustramos el uso del operador "$ Inc" para más de 1 propósito. Las dos primeras instancias son sobre el incremento de un solo campo y múltiples campos (incluido un campo de formato de documento) dentro de un solo registro. Mientras que la última ilustración le ayuda a incrementar muchos campos en múltiples registros de cualquier base de datos de la manera más simple posible.