Función de clasificación de MongoDB

Función de clasificación de MongoDB
En este tutorial, exploraremos cómo usar la función de clasificación MongoDB. Esta función nos permite definir el orden en el que el cursor MongoDB devuelve documentos coincidentes.

La sintaxis de la función es como se muestra:

db.Recopilación.sort (campo: valor)

La función acepta el documento que contiene un campo específico y la orden de clasificación. El valor de 1 muestra una orden ascendente mientras -1 indica un orden de clasificación descendente.

La función devolverá los documentos consultados ordenados en el orden especificado como se define en los parámetros de campo y valor.

Ejemplo

Comience creando una colección y agregando algunos documentos de muestra.

La consulta es como se muestra:

db.CreateCollection ("Películas")
db.Película (s.insertMany (
[

"show_id": "S1",
"Tipo": "Película",
"Título": "Dick Johnson está muerto",
"Director": "Kirsten Johnson",
"Cast": NULL,
"País: Estados Unidos",
"date_added": "25 de septiembre de 2021",
"Release_year": NumberInt (2020),
"Calificación": "PG-13",
"Duración": "90 min",
"listed_in": "documentales"
,

"show_id": "s2",
"Tipo": "programa de televisión",
"Título": "Blood & Water",
"Director": NULL,
"Cast": NULL,
"País": "Sudáfrica",
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "2 temporadas",
"Listed_in": "Programas internacionales de televisión, dramas de televisión, misterios de televisión",
,

"show_id": "S3",
"Tipo": "programa de televisión",
"Título": "Ganglands",
"Director": "Julien Leclercq",
"Cast": NULL,
"País": NULL,
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "1 temporada",
"Listed_in": "programas de televisión criminal, programas internacionales de televisión, acción de televisión y aventura",
,

"show_id": "S4",
"Tipo": "programa de televisión",
"Título": "Jailbirds New Orleans",
"Director": NULL,
"Cast": NULL,
"País": NULL,
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "1 temporada",
"Listed_in": "docuseries, reality tv",
,

"show_id": "S5",
"Tipo": "programa de televisión",
"Título": "Kota Factory",
"Director": NULL,
"Cast": NULL,
"País": "India",
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "2 temporadas",
"Listed_in": "Programas de televisión internacionales, programas de televisión románticos, comedias de televisión",

]
)

De los documentos anteriores, podemos usar la función de clasificación para ordenar los documentos basados ​​en la calificación en orden ascendente.

La consulta es como se muestra:

db.Película (s.encontrar().Sort ("Calificación": 1)

Ejecución de la consulta anterior ordenará los documentos en orden alfabético basado en el campo de calificación. Es bueno tener en cuenta que, dado que la colección contiene valores duplicados para las calificaciones, el orden de clasificación puede ser inconsistente en varias ejecuciones.

También podemos ordenar los documentos en orden descendente estableciendo el valor de clasificación en -1. Un ejemplo es como se muestra:

db.Película (s.encontrar().Sort ("Release_year": -1)

La consulta anterior debe devolver los documentos ordenados en orden descendente basado en el campo Libere_year.

La salida resultante es como se muestra:


"_id": ObjectId ("632AF6B69C8D85D13EB419A4"),
"show_id": "s2",
"Tipo": "programa de televisión",
"Título": "Blood & Water",
"Director": NULL,
"Cast": NULL,
"País": "Sudáfrica",
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "2 temporadas",
"Listed_in": "Programas internacionales de televisión, dramas de televisión, misterios de televisión"


"_id": ObjectId ("632AF6B69C8D85D13EB419A5"),
"show_id": "S3",
"Tipo": "programa de televisión",
"Título": "Ganglands",
"Director": "Julien Leclercq",
"Cast": NULL,
"País": NULL,
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "1 temporada",
"Listed_in": "programas de televisión criminal, programas internacionales de televisión, acción de televisión y aventura"


"_id": ObjectId ("632AF6B69C8D85D13EB419A6"),
"show_id": "S4",
"Tipo": "programa de televisión",
"Título": "Jailbirds New Orleans",
"Director": NULL,
"Cast": NULL,
"País": NULL,
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "1 temporada",
"Listed_in": "docuseries, reality tv"


"_id": ObjectId ("632AF6B69C8D85D13EB419A7"),
"show_id": "S5",
"Tipo": "programa de televisión",
"Título": "Kota Factory",
"Director": NULL,
"Cast": NULL,
"País": "India",
"date_added": "24 de septiembre de 2021",
"Release_year": NumberInt (2021),
"Calificación": "TV-Ma",
"Duración": "2 temporadas",
"Listed_in": "Programas de televisión internacionales, programas de televisión románticos, comedias de televisión"


"_id": ObjectId ("632AF6B69C8D85D13EB419A3"),
"show_id": "S1",
"Tipo": "Película",
"Título": "Dick Johnson está muerto",
"Director": "Kirsten Johnson",
"Cast": NULL,
"País: Estados Unidos",
"date_added": "25 de septiembre de 2021",
"Release_year": NumberInt (2020),
"Calificación": "PG-13",
"Duración": "90 min",
"listed_in": "documentales"

Conclusión

En este artículo, discutimos cómo usar el cursor.Método sort () en MongoDB. Podemos usar la función sort () para ordenar los resultados de una consulta en orden ascendente o descendente.