La clasificación es la forma de organizar los documentos en orden ascendente o descendente. En MongoDB, podemos ordenar los documentos en orden ascendente o descendente según los datos del campo. Para ordenar documentos en una colección usamos el método sort() . Este método toma un parámetro que contiene un campo: par de valores que define el orden de clasificación del conjunto de resultados, si el valor de este campo es 1, este método clasifica los documentos en orden ascendente, o si el valor de este campo es -1 entonces este método ordena los documentos en orden descendente.
Sintaxis:
db.Collection_name.sort({field_name: 1 o -1})
Parámetro:
Este método toma un documento que contiene un campo: par de valores. Si el valor de este campo es 1, este método clasifica los documentos en orden ascendente, o si el valor de este campo es -1, este método clasifica los documentos en orden descendente.
Devolver:
Este método devuelve documentos ordenados.
Ejemplos:
En los siguientes ejemplos, estamos trabajando con:
Base de datos: gfg
Colecciones: estudiante
Documento: Cuatro documentos contienen el nombre y la edad de los estudiantes.
- Devuelva todos los documentos en orden ascendente de edad:
db.student.find().sort({age:1})
- Devuelva todos los documentos en orden decreciente de edad:
db.student.find().sort({age:-1})
Ordenar documentos incrustados
En MongoDB, también podemos ordenar documentos incrustados usando el método sort(). En este método, podemos especificar el campo del documento incrustado usando un punto.
Sintaxis:
db.Collection_name.sort({“field_name.embed_field_name” : 1 o -1})
Ejemplo:
En el siguiente ejemplo, estamos trabajando con:
Base de datos: gfg
Colecciones: estudiante
Documento: Dos documentos contienen nombre y un documento de notas, que contiene las notas de las dos asignaturas y las notas totales de las dos asignaturas.
- Ordene los documentos en orden ascendente según el campo total del documento de marcas:
db.student.find().pretty().sort({"marks.total":1})
- Ordene los documentos en orden descendente según el campo total del documento de marcas:
db.student.find().pretty().sort({"marks.total":-1})
Ordenar múltiples campos en los documentos
En MongoDB, también podemos ordenar múltiples campos usando el método sort(). En este método, debe declarar varios campos que desea ordenar. Ahora este método, ordena los campos según su posición de declaración, aquí el orden de clasificación se evalúa de izquierda a derecha.
Sintaxis:
db.Collection_name.sort({field_name1: 1 o -1, field_name2: 1 o -1})
Ejemplo:
En los siguientes ejemplos, estamos trabajando con:
Base de datos: gfg
Colecciones: Profesor
Documento: Seis documentos contienen los detalles de los profesores.
Ahora ordenamos los documentos de la colección de maestros en orden ascendente. Aquí, ordenamos varios campos juntos usando el método sort() (es decir, tema, edad)
db.teacher.find().pretty().sort({subject:1, age:1})
Ordenar usando el método limit()
En MongoDB, podemos limitar la cantidad de documentos ordenados que se muestran en el resultado usando el método limit(). En este método, especificamos el número de documentos que queremos en nuestro resultado.
Sintaxis:
db.Collection_name.find().sort({field_name: 1 o -1}).limit(<número>)
Ejemplo:
En los siguientes ejemplos, estamos trabajando con:
Base de datos: gfg
Colecciones: profesor
Documento: Seis documentos contienen los detalles de los profesores.
Ahora ordenamos los documentos de la colección de maestros en orden ascendente usando el método sort() pero en el resultado, solo mostraremos 4 documentos.
db.teacher.find().pretty().sort({name:1}).limit(4)
Ordenar los metadatos
En MongoDB, usando el método sort() podemos ordenar los valores de los metadatos. Analicemos con la ayuda de un ejemplo:
Ejemplo:
En los siguientes ejemplos, estamos trabajando con:
Base de datos: gfg
Colecciones: metaejemplo
Documento: Cinco documentos
Ahora, para ordenar los metadatos, primero necesitamos crear el índice usando el método createIndex().
Ahora, ordenamos los metadatos.
db.metaexample.find({$text:{$search:"MongoDB"}}, {score:{$meta: "textScore"}} ).sort({score:{$meta:"textScore"}})
Aquí, primero, buscamos el texto (es decir, MongoDB) usando {$meta: “textScore”} y después de buscar ordenamos los datos y almacenamos el resultado en el campo de puntuación. Aquí, estamos clasificando usando «textScore», por lo que los datos se clasifican en
Publicación traducida automáticamente
Artículo escrito por KapilChhipa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA