MongoDB $ rand

MongoDB $ rand
MongoDB es tan vasto cuando se trata del uso de operadores como operadores de comparación, operadores lógicos y operadores de propósito general. El operador MongoDB $ Rand se utiliza para devolver un valor aleatorio de un rango especificado como sugiere el título "Rand". La palabra 'aleatorio' se utiliza para cualquier cosa elegida por casualidad sin una decisión o prioridad adecuada. El operador "rand" de MongoDB se puede utilizar junto con otros operadores en una consulta para seleccionar y modificar aleatoriamente los registros de una colección específica. Un uso del operador de $ rand es recuperar registros aleatorios. El operador de $ RAND proporciona una forma útil de introducir aleatoriedad en consultas MongoDB y puede usarse de varias maneras para lograr objetivos. En esta guía, elaboraremos el uso del operador "rand" para generar registros de campo aleatorios en la base de datos.

Crear colección en la base de datos

Comience con la creación de una nueva colección en su MongoDB, si no tiene una. La colección es imprescindible para realizar cualquier operación en los registros de la base de datos dentro de MongoDB. Además, la colección debe tener al menos 1 documento ya insertado antes de aplicarle cualquier comando. Por lo tanto, ya hemos creado una colección en nuestra base de datos MongoDB. Lo llamamos "ficticio" en nuestra base de datos de "prueba" que usaremos en las consultas.

Prueba> Mostrar colecciones

Ficticio

Al trabajar con MongoDB, debe tener registros para utilizar el operador "Rand". El comando enumerado a continuación se ha utilizado con el "DB.Ficticio.Find () "Función que se utiliza para recuperar todos los documentos de una colección" Dummy ". Este comando devuelve todos los documentos en la colección, incluido su campo único "_id", así como otros campos como "ciudad", "cuenta" y "DESC". Esto permite al usuario ver los datos almacenados en la recopilación y tomar decisiones sobre cómo trabajar con él.

Prueba> DB.Ficticio.encontrar()
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ciudad: 'Texas', Count: 3, Desc: 'Ciudad de tamaño mediano',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ciudad: 'Los Ángeles', Count: 3, Desc: 'Ciudad de tamaño mediano',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ciudad: 'Italia', Conte: 10, Desc: 'MÁS BEJANTE Y COMPLEZADO',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ciudad: 'Istanbul', Count: 3, Desc: 'Ciudad de tamaño mediano',
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ciudad: 'Delhi', Count: 3, Desc: 'Ciudad de tamaño mediano']

Ejemplo # 01: $ RAND Operator

Comencemos con el uso del comando MongoDB que está utilizando el método Aggregate () en una colección llamada "Dummy" dentro de la base de datos "Prueba". El método agregado () se utiliza para procesar datos de las colecciones y devolver los resultados calculados. El comando está utilizando el operador de proyecto $, que se utiliza para remodelar documentos en la tubería. Y crea un nuevo campo llamado "aleatorio" al que se le asigna el resultado del operador de $ rand.

El operador de $ rand genera un número aleatorio entre 0 e 1 (inclusive) para cada registro en la colección. El que sigue al operador $ RAND indica que no se están pasando argumentos al operador, por lo que generará un número aleatorio sin ninguna restricción específica. La salida es una matriz JSON de documentos en la colección "ficticia", cada una de las cuales contiene un campo "_id" y un campo "aleatorio". El campo "aleatorio" contiene un número aleatorio entre 0 y 1 o valores de tipo flotante generados por el operador $ RAND para todos los 5 registros que también se muestran en la siguiente salida:

Prueba> DB.Ficticio.Aggregate ([$ Project: Random: $ rand: ])
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Random: 0.292593749216963,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Random: 0.5529488318506414,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Random: 0.10835699304362681,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Random: 0.702304030840275,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Random: 0.32829452437455164]

Ejemplo # 02: Uso del operador de $ RAND con $ Multiply Operator

El primer ejemplo ilustra el uso del operador "rand" en MongoDB únicamente en una colección. Ahora, lo utilizaremos junto con el operador de multiplicación. Hemos estado usando la consulta a continuación para este propósito. Comienza con el uso de la función agregada con la etapa de proyecto $ y el operador aleatorio nuevamente. Esta vez, el operador de multiplicación se ha aplicado a un operador "$ rand" o el valor que tenemos del operador "rand" se multiplica por 10 para generar un número aleatorio entre 0 y 10 para cada documento. La siguiente salida muestra una matriz de todos los documentos en la colección "Dummy", cada uno con su identificador único y un nuevo campo llamado Random que mantendrá los números aleatorios generados entre 0 y 10 I.mi., flotar.

Prueba> DB.Ficticio.Aggregate ([$ Project: Random: $ Multiply: [$ rand: , 10]])
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Random: 9.636797271617377,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Random: 9.612768242636559,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Random: 9.773269856209643,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), R Andom: 4.544313454814634,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Random: 3.3338556824055585]

Ejemplo # 03: operador de $ rand con "$ Floor Operator

El último comando ilustra el uso del operador "rand" con el operador "multiplicar" para generar números aleatorios de tipo flotante. Esta vez, explicaremos cómo generar números de tipo entero utilizando el operador "rand" junto con el operador "piso" de MongoDB. Por lo tanto, la instrucción a continuación se ha ejecutado en el shell MongoDB para producir los valores aleatorios enteros para cada registro en la colección "Dummy". Esta vez, el operador aleatorio se multiplica por 10 para generar un número aleatorio entre 0 y 10 para cada documento. Después de eso, el operador del piso se aplica para redondear el número aleatorio al entero más cercano.

La salida es una matriz de todos los documentos de la colección, cada uno con su propio ObjectId único, la propiedad de la ciudad y una nueva propiedad llamada Random que contendrá el número entero aleatorio generado entre 0 y 10 como se muestra en la salida de la instrucción también.

Prueba> DB.Ficticio.Aggregate ([$ Project: City: 1, Random: $ Floor: $ Multiply: [$ rand: , 10]]))
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), Ciudad: 'Texas', Random: 5,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ciudad: 'Los Ángeles', Random: 0,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ciudad: 'Italia', Random: 5,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ciudad: 'Istanbul', Random: 7,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ciudad: 'Delhi', Random: 5]

Ejemplo # 04: operador de $ rand con $ piso operador

En las ilustraciones anteriores, hemos multiplicado los valores generados aleatoriamente con 10 o nada para dejarlos en su forma de tipo flotante o para convertirlos en un valor entero. Pero, en este ejemplo, multiplicaremos nuestros valores flotantes generados al azar con una figura un poco más grande que es 5000. De la misma manera, el comando utilizado en los ejemplos anteriores se ha utilizado aquí con un ligero cambio. El operador "Multiplicar" multiplica el número aleatorio generado por el operador de $ RAND por 5000 para aumentar el rango del número aleatorio. El operador del "piso" redondea el número generado por el operador $ multiplique al número entero más cercano. La salida de esta instrucción a continuación muestra 5 registros en la pantalla de shell MongoDB con una nueva propiedad que contiene un número entero aleatorio entre 0 y 5000 de la siguiente manera:

Prueba> DB.Ficticio.Aggregate ([$ Project: City: 1, Random: $ Floor: $ Multiply: [$ rand: , 5000]]))
[_id: ObjectId ("63C8A1F94FF07039AA6CDF6B"), City: 'Texas', Random: 2862,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6C"), Ciudad: 'Los Ángeles', Random: 3688,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6D"), Ciudad: 'Italia', Random: 814,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6E"), Ciudad: 'Istanbul', Random: 3888,
_id: ObjectId ("63C8A1F94FF07039AA6CDF6F"), Ciudad: 'Delhi', Random: 2939]

Conclusión

Hemos discutido la definición del operador "aleatorio" en MongoDB. Además, hemos discutido sus usos en la línea de comandos de MongoDB. Luego, probamos 4 de los diferentes ejemplos para demostrar su uso junto con otros operadores. Los comandos anteriores demuestran cómo usar la función agregada de MongoDB y varios operadores como $ rand, $ multiply y $ piso para manipular datos en una colección y generar nuevas propiedades con números aleatorios.