Resultados de la consulta de ordenación de MongoDB

Resultados De La Consulta De Ordenacion De Mongodb



Casi todos los sistemas de bases de datos dan prioridad a la clasificación de los datos antes de recuperarlos, lo que los diferencia de otros métodos de almacenamiento de datos. MongoDB también tiene varias formas de determinar cómo ordenar los datos. Principalmente, usamos el método sort() para determinar la secuencia en la que aparece el documento. El orden de la secuencia se pasa como parámetro al método sort(). El uno o más campos que componen el método sort() suelen ir seguidos de un valor '1' o '-1'. El método sort() hace que una consulta sea más legible, lo que mejora la comprensión de una colección específica.

¿Cómo ordena MongoDB los resultados de las consultas?

El método de clasificación toma el campo y su valor asociado como un único parámetro. El método de clasificación acepta parámetros en formato JSON como {Field: Value}. Los múltiples campos y valores también se pueden ingresar en el método sort() para obtener los documentos ordenados de la colección. Considere el siguiente documento en el que hemos insertado muchos otros documentos en nuestra base de datos. El nombre de esta base de datos MongoDB se titula “Empleados”. La colección “Empleados” tiene toda la información de los empleados que se muestra a continuación.

db.Empleados.insertMany([
      {
'nombre': 'Roberto',
'Fecha de nacimiento': '14-05-1993',
'género masculino',
'Email': ' [correo electrónico protegido] ',
'departamento': 'Seguridad',
'salario' : 5000
      },
      {
'nombre': 'kyle',
'Fecha de nacimiento': '31-05-1999',
'género femenino',
'Email': ' [correo electrónico protegido] ',
'departamento': 'TI',
'salario' : 6200
      },
      {
'nombre': 'Mateo',
'Fecha de nacimiento': '26-04-1993',
'género masculino',
'Email': ' [correo electrónico protegido] ',
'departamento': 'Cuentas',
'salario' : 3500
      },
      {          
'nombre': 'Kevin',
'Fecha de nacimiento': '14-07-1991',
'género masculino',
'Email': ' [correo electrónico protegido] ',
'departamento': 'Seguridad',
'salario' : 4500
              },

      {
'nombre': 'Julia',
'Fecha de nacimiento': '12-09-2000',
'género femenino',
'Email': ' [correo electrónico protegido] ',
'departamento': 'TI',
'salario' : 2500
          }
  ])

Se inserta la colección “Empleado” con los documentos proporcionados cuya confirmación se muestra en el siguiente resultado. Vamos a utilizar este documento de colección para mostrar la funcionalidad de los resultados de la consulta de clasificación.









Ejemplo n.° 1: colección no clasificada de MongoDB

Cuando la consulta de búsqueda se ejecuta con el método find(), siempre proporciona una colección de documentos sin clasificar. Esto puede ser más claro con los resultados de la consulta que se proporcionan a continuación.



>db.Empleados.find({},{_id:0})

Aquí tenemos una consulta de la colección 'Empleado' con el método find(). El método find() toma el parámetro vacío junto con el “_id:0”. Para obtener un resultado más sencillo, el ID del documento se elimina mediante el operador '_id:0'. Por defecto, obtenemos colecciones sin clasificar cuando la consulta se busca con el método find(). La salida que se recupera a continuación son todos los documentos sin clasificar de la forma en que los tenemos en el momento de la inserción.





Ejemplo n.º 2: Resultados de la consulta de ordenación de MongoDB en orden ascendente

La colección ordenada en MongoDB se obtiene utilizando el método sort() que debe colocarse después del método find(). El método sort() en MongoDB toma el parámetro que se incluye con el nombre del campo y el orden de clasificación del documento. Necesitamos ingresar '1' como parámetro en el campo ya que recuperaremos los documentos en orden ascendente en este ejemplo en particular. Lo siguiente en la consulta de clasificación da como resultado un orden ascendente.



>db.Empleados.find().sort({nombre:1})

Aquí, hemos utilizado el método sort() después de la consulta de búsqueda de búsqueda. El método sort() se utiliza para clasificar el campo 'nombre' en orden ascendente, ya que el valor '1' se coloca junto al campo especificado. Tenga en cuenta que si el método sort() no se especifica con ningún valor paramétrico, la colección no se ordenará. La salida del método sort() se obtendrá en el orden predeterminado. Los resultados del método sort() por campo de nombre en orden ascendente se muestran en el siguiente shell de MongoDB.

Ejemplo n.° 3: Resultados de la consulta de ordenación de MongoDB en orden descendente

Ahora, mostramos los resultados de la consulta de clasificación de MongoDB en orden descendente. Este tipo de consulta es el mismo que el ejemplo anterior pero con una diferencia. Para el orden descendente, el método sort() toma el valor '-1' frente al nombre de la columna. Los resultados de la consulta de clasificación en orden descendente se dan a continuación.

>db.Empleados.find({},{'correo electrónico':1,_id:0}).sort({'correo electrónico':-1})

Aquí, la consulta de búsqueda comienza con el método find() que encuentra el campo 'correo electrónico' y devuelve solo los valores del campo 'correo electrónico'. A continuación, hemos especificado el método sort() que se utiliza para ordenar el campo 'correo electrónico', y el valor '-1' al lado indica que los resultados de clasificación obtenidos serán en orden descendente. Los resultados de la consulta de clasificación en orden descendente se obtienen después de ejecutarlos en el shell de MongoDB.

Ejemplo n.º 4: resultados de consulta de ordenación de MongoDB para varios campos

Podemos ordenar los múltiples campos en MongoDB con el método sort(). Los campos a ordenar deben declararse en el método sort(). La clasificación se basa en el orden de declaración de los campos y el orden de clasificación se examina de izquierda a derecha. La consulta para ordenar los campos múltiples debería verse así:

>db.Empleados.find({},{_id:0}).sort({'nombre':1,'salario':1})

Aquí, el método sort() se pasa con los campos 'nombre' y 'salario' para ordenar. El campo 'nombre' de la colección 'Empleado' se ordena primero porque es el primer campo de argumento del método sort(). Luego, el método sort() ordena el segundo campo de argumento 'salario'. El orden de ambos campos es '1', lo que indica que la clasificación será en orden ascendente. La salida para múltiples campos de consulta de clasificación se genera en el orden de clasificación especificado a continuación.

Ejemplo n.º 5: resultados de consulta de ordenación de MongoDB con método de límite

Además, el método sort() también se puede combinar con el método limit(), que proporciona un número limitado de documentos ordenados por esa consulta de búsqueda. El método limit() requiere un número entero como parámetro, lo que limita la cantidad de documentos que deben incluirse en el conjunto de salida. La consulta de búsqueda se establece a continuación, que primero ordena el documento y luego proporciona los documentos límite especificados.

>db.Empleados.find({},{_id:0}).sort({'departamento':1,'DOB':1}).limit(4).pretty()

Aquí tenemos la consulta de búsqueda que comienza la operación de clasificación para la columna 'departamento' y luego para la columna 'Fecha de nacimiento' en orden ascendente utilizando el método sort(). Una vez que se realiza la clasificación, colocamos el método limit() junto a él para recuperar el documento limitado. El método limit() recibe un valor numérico '4', lo que significa que solo muestra cuatro documentos ordenados en la salida, como se muestra en la siguiente pantalla:

Ejemplo n.º 6: resultados de consulta de ordenación de MongoDB con agregación de ordenación $

En todos los ejemplos anteriores, hemos realizado la clasificación a través del método sort() de MongoDB. Hay otra forma de ordenar en MongoDB que se logra a través de la agregación $sort. El operador $sort ordena todos los documentos de entrada y luego devuelve los documentos ordenados a la canalización. El operador $sort se aplica a la colección 'Empleados' a continuación.

db.Empleados.agregado([ { $clasificar : { salario : 1, _id: -1 } } ])

Aquí, hemos mencionado el método agregado dentro del cual podemos utilizar el operador '$sort'. Luego, tenemos la expresión del operador $sort que ordena la columna 'salary' en orden ascendente y la columna 'id' en orden descendente. La agregación $sort aplicada en el campo genera los siguientes resultados:

Ejemplo n.º 6: resultados de consulta de ordenación de MongoDB con método de omisión

El método sort() también se puede combinar con el método skip(). El conjunto de datos resultante puede tener una cierta cantidad de documentos que se ignorarán con el método skip(). Al igual que el método limit(), el método skip() también acepta el valor numérico que indica el número de documentos que se van a omitir. Hemos combinado el método sort() con el método skip() en la consulta de clasificación.

>db.Empleados.find({},{_id:0}).sort({'salario':1}).skip(4).bonita()

Aquí, hemos usado el método skip() junto al método sort(). Cuando el método sort() ordena los documentos, pasa la salida de clasificación al método sort(). Después de eso, el método skip() eliminó los primeros cuatro documentos ordenados de la colección.

Conclusión

El artículo trata sobre los resultados de la consulta de clasificación en MongoDB. Hemos utilizado el método sort() para este propósito, que organiza los registros en una secuencia específica. También hemos utilizado el método sort() para la clasificación múltiple en varios campos. El método sort() luego se empareja con los métodos limit() y skip() para los documentos ordenados usando estas operaciones. Además, hemos proporcionado la agregación $sort para ordenar los resultados de la consulta en MongoDB.