Operador $Min de MongoDB

Operador Min De Mongodb



Si no es un nuevo usuario de bases de datos o programación, debe haber probado los programas y consultas que utilizan los operadores de comparación: mayor que, menor que, igual a, etc. En MongoDB, donde usamos el operador '$set' para actualizar un registro de campo específico o agregar un nuevo registro a la base de datos, también podemos lograr el mismo resultado utilizando los operadores de comparación como '$min' y '$max'. En MongoDB, el operador '$min' se puede utilizar dentro de muchas consultas de funciones para actualizar un campo específico cuando un nuevo valor es menor que el valor ya insertado. Además, se puede utilizar para agrupar y mostrar los registros de una colección en un orden particular. Esta guía lo ayuda con diferentes formas de descartar el operador '$ min' en MongoDB.

Ejemplo 1:

Comenzando con la primera ilustración, demostramos el uso del operador '$min' en MongoDB para actualizar un registro ya insertado usando la herramienta de shell MongoDB en el sistema Windows. Por lo tanto, debe tener algunos registros que ya están agregados a su base de datos. Entonces, usamos la función de consulta insertMany() para agregar un total de 5 registros en la colección de 'pedido' de una base de datos de 'prueba'. Cada uno de los registros insertados que se muestran en la siguiente ilustración contiene un total de 4 campos: identificación, título, precio de venta e impuestos. Estos datos de 5 registros se insertan correctamente según el resultado adjunto:

prueba > db.order.insertMany ( [ { 'identificación' : 01, 'Título' : 'Jabón' , 'Precio de venta' : 500 , 'Impuesto' : 24 } ,
... { 'identificación' : 02, 'Título' : 'champú' , 'Precio de venta' : 700 , 'Impuesto' : 27 } ,
... { 'identificación' : 03, 'Título' : 'Detergente' , 'Precio de venta' : 400 , 'Impuesto' : 22 } ,
... { 'identificación' : 04, 'Título' : 'Perfume' , 'Precio de venta' : 900 , 'Impuesto' : 30 } ,
... { 'identificación' : 05, 'Título' : 'Niebla' , 'Precio de venta' : 850 , 'Impuesto' : 27 } ] )







Es hora de mirar el registro insertado en una base de datos de 'prueba'. Para eso, debe descartar el método 'find ()' junto con el método 'forEach', tomando 'printjson' como argumento en la instrucción 'db'. Usando la colección llamada 'pedido', tenemos un registro que se muestra en la pantalla.



prueba > db.pedir.encontrar ( ) .para cada ( imprimirjson )



Ya es hora de usar el operador '$min' en la consulta de función 'updateOne' para actualizar un solo registro de la colección de 'pedido' que se acaba de crear. El campo “id” se usa como identificador único para actualizar un registro específico de una base de datos, mientras que el operador “$min” se aplica a un campo “SalePrice” para actualizar su valor a 600 si es menor que el valor ya insertado. El mensaje de salida muestra que la consulta es exitosa pero no se realizan actualizaciones.





prueba > db.order.updateOne ( { identificación: 3 } , { $min : { Precio de venta: 600 } } )

La razón por la que no se actualiza el campo 'Precio de venta' del tercer registro es que contiene el valor de '400', que es inferior a '600'. Por lo tanto, el operador '$min' no actualiza el valor mínimo de '400' con un valor mayor de '600' según la siguiente consulta adjunta find():



prueba > db.pedir.encontrar ( ) .para cada ( imprimirjson )

Hagamos un pequeño cambio en la consulta de actualización para obtener un resultado diferente esta vez. Usamos la misma instrucción 'db' que utiliza la función 'updateOne' para modificar un solo registro de '3'. El operador '$min' se aplica al campo 'Precio de venta' para establecer su valor en '300' si el valor de '300' es menor que el valor ya insertado. Sabemos que el valor ya insertado de “400” del campo PrecioVenta es mayor que el nuevo valor de “300” a comparar. Entonces, reemplaza '400' con '300' esta vez. El mensaje de salida muestra la ejecución exitosa de esta consulta. El recuento modificado = 1 significa que se modifica 1 registro.

prueba > db.order.updateOne ( { identificación: 3 } , { $min : { Precio de venta: 300 } } )

Después de mostrar los registros de una colección de 'pedido' de la base de datos de 'prueba' en formato JSON a través de la instrucción de función 'buscar ()' en el shell de MongoDB, encontramos que el tercer registro se actualizó correctamente. El valor de 400 del campo 'Precio de venta' se reemplaza por el valor de 300.

prueba > db.pedir.encontrar ( ) .para cada ( imprimirjson )

Ejemplo 2:

Dentro de esta ilustración de MongoDB, buscamos los registros de una base de datos específica agrupándolos con respecto al operador '$min' según el valor mínimo en los registros. Suponga que tiene los mismos 5 registros en la colección de 'pedidos' de la base de datos de 'prueba' de MongoDB y necesita tener algunos datos duplicados en los campos particulares de una base de datos de 'prueba'. Para ello, añadimos más registros en la colección “order” de la base de datos “test”. Esta vez, insertamos los valores duplicados para el campo 'Título'. Se usa en una cláusula “$group” para formar un grupo de valores únicos. El siguiente resultado muestra los 3 registros más recién insertados para la base de datos de 'prueba'. Ahora, la colección de 'pedido' tiene valores duplicados para el campo 'Título' en comparación con los 5 registros anteriores. El resto usa lo mismo.

Después de tener un total de 8 registros en la colección de 'pedido' de la base de datos de 'prueba', es hora de probar el operador $min de MongoDB después de su aplicación en un campo específico que está agrupado por otro campo. El comando agregado adjunto tiene que ver con esto. Comienza con la palabra clave 'db' seguida del nombre de una colección en una base de datos particular y la función de agregado(). La función agregada comienza con el uso de la cláusula $group de MongoDB que se usa especialmente aquí para mostrar los datos en un grupo relacionado con el campo 'Título' de la base de datos 'prueba' donde el campo 'Título' se toma como una clave única .

Al mismo tiempo, el campo de precio se inicializa por separado, lo que solo toma el registro de valor mínimo del total de 8 registros iguales a través del operador '$min' que se le aplica. El resultado de la ejecución de esta consulta muestra la visualización de 5 registros con una pequeña actualización en la sección de precios. Puede ver que no se muestran registros repetitivos. Aquí se muestran algunos registros únicos y de valores más pequeños.

prueba > db.orden.agregado ( [ { $grupo : { _identificación: ' $Título ' , precio: { $min : ' $VentaPrecio ' } } } ] )

Conclusión

Esta guía es una colección de ilustraciones de MongoDB para mostrar una forma sencilla de utilizar el operador '$min'. El párrafo de introducción se utiliza para discutir el propósito de su uso en MongoDB. La primera parte de este artículo analiza cómo funciona y no funciona el operador “$min” para un solo registro en una base de datos, es decir, para actualizar o insertar un registro como valor mínimo. Además, los últimos ejemplos demuestran su uso para agrupar el registro de colección como único en toda la base de datos.