Ejemplo # 01:
Asegúrese de que su base de datos MongoDB ya esté configurada en su máquina. Si no, intente instalarlo junto con la creación de una colección en él. La colección debe tener registros. Configuramos nuestra base de datos MongoDB creando una colección llamada "Dummy" y le agregamos algunos documentos. Es hora de usar el operador de rango en una colección ficticia. Antes de eso, mostraremos los documentos que tenemos en nuestra colección ficticia. La instrucción que se muestra a continuación se ejecuta en el shell MongoDB para este propósito. El comando está utilizando el método "find ()" para buscar todos los documentos en una colección llamada "ficticio" con los aparatos ortopédicos de rizado vacío "". No se están utilizando criterios de búsqueda específicos, por lo que se mostrarán todos los registros de la colección "ficticia".
La salida del comando es una variedad de documentos, cada registro que contiene varios campos. Los campos incluyen un objeto único "_id" de cada registro, el campo de la ciudad representa el nombre de una ciudad, el campo de conteo representa un numérico, el campo DESC representa una cadena que describe la ciudad y el campo aleatorio representa un valor numérico aleatorio.
Prueba> DB.Ficticio.encontrar()Es hora de aplicar el campo "Rango" en todos los registros de una colección "ficticia" de MongoDB para obtener el rango de números. El comando para la aplicación del operador de rango se ha conectado debajo. Está utilizando el método "Aggregate ()" para realizar una operación agregada en una colección llamada "Dummy". El operador "$ Project" se utiliza para remodelar los documentos en una colección incluyendo o excluyendo campos y también puede crear nuevos campos. En este caso, el operador del "proyecto $" se está utilizando para crear un nuevo campo llamado "reposo", que es una matriz que contiene un rango de números de 0 al valor del campo "aleatorio" en cada documento, incrementando en 10. La salida del comando muestra una matriz de registros, el campo REST representa una nueva matriz que contiene un rango de números basado en el valor del campo "aleatorio", y el campo "Ciudad" con el nombre de una ciudad específica. El punto de descanso se puede adivinar desde el rango proporcionado en el campo de matriz de "descanso".
Prueba> DB.Ficticio.Aggregate ([$ Project: City: 1, "REST": $ Range: [0, "$ Random", 10]])Ejemplo # 02:
Echemos un vistazo a otro ejemplo para usar el campo Range en la colección MongoDB. La colección "prueba" se ha utilizado en este ejemplo hasta ahora. La instrucción "Buscar" a continuación ha mostrado el contenido de esta colección. La salida del comando contiene el identificador único asignado a cada documento por MongoDB, el campo "S" representa el número de punto de partida y el campo "E" representa el número de punto final.
Prueba> DB.Prueba.encontrar()La salida muestra que la matriz se crea utilizando el operador de rango $, que toma dos argumentos: el valor inicial y el valor final. El valor inicial es el campo "S" y el valor final es el campo "E" en el documento. La salida final de este comando es una lista de documentos, cada uno con un _id, un campo "s", un campo "e" y un campo "r" que contiene una matriz de enteros. Los enteros en el campo "R" son el rango de números entre los campos "S" y "E" para cada documento: cada uno con un incremento de 1. Esto se debe a que no asignamos un valor de incremento para el operador de rango. Entonces, el operador de "rango" tomó "1" como el valor de incremento por sí mismo.
Prueba> DB.Prueba.Aggregate ([$ Project: S: 1, E: 1, "R": $ Range: ["$ S", "$ E"]]))Ejemplo # 03:
En todas las ilustraciones anteriores, solo hemos aplicado el operador de rango en los campos de colecciones que tienen valores de tipo entero. Recibiremos un error cuando apliquemos el operador de rango en el valor de tipo de cadena. ¿Qué pasa si lo aplicamos a los valores de campo de tipo decimal?? Compruebemos eso aplicándolo a una nueva colección llamada "Float" en nuestra base de datos MongoDB. La función find () aplicada a la colección "flotante" muestra los 5 conjuntos de documentos en ella. Cada documento contiene su identificador único, el campo de tipo de cadena "Título" y el "Campo de flotación" que contiene valores de puntos decimales.
Prueba> DB.Flotar.encontrar()Ahora, hemos aplicado el operador de "rango" en la colección de flotación utilizando la función agregada para obtener el rango de números con un incremento de 11 para el campo de "edad". Sin embargo, este código genera un error porque el operador de rango $ requiere que el valor final sea un entero de 32 bits, pero el valor del campo "edad" es un número de punto flotante y no se puede convertir a un 32- bits entero. Esto muestra que no podemos aplicar el operador de rango en ningún otro tipo de datos, excepto el tipo de datos enteros en la base de datos MongoDB.
Prueba> DB.Flotar.Aggregate ([$ Project: Título: 1, "REST": $ Range: [0, "$ Age", 11]])MongoserverError: Error de planexecutor durante la agregación :: causada por :: $ rango requiere un valor final que puede representarse como un entero de 32 bits, valor encontrado: 45.6.
Conclusión
Hemos informado el concepto del operador de rango que se utiliza en la función agregada de MongoDB. Después de definir el uso del operador de rango, hemos explicado su uso con la ayuda de tres ejemplos distintos de comandos MongoDB en el shell. La primera ilustración demuestra el uso del operador de rango en el campo de tipo entero para obtener la secuencia de números con el número de incremento específico. Las segundas ilustraciones demuestran cómo se puede aplicar un operador de rango al campo de inicio y finalización sin usar el número de incremento. Mientras que el último ejemplo muestra que el operador de rango no funciona en tipos de datos que no sean enteros: flotadores y cadenas.