Ordenar Documentos por un Solo Campo
En este paso, aprenderá cómo ordenar documentos en una colección de MongoDB. La ordenación le permite organizar los resultados de las consultas en un orden específico, lo cual es crucial para el análisis y la presentación de datos. Su entorno ha sido preconfigurado con una base de datos bookstore que contiene una colección books.
Primero, abra la shell de MongoDB para interactuar con la base de datos. En su terminal, ejecute el siguiente comando:
mongosh
Una vez dentro de la shell, cambie a la base de datos bookstore.
use bookstore
Para ver los documentos en la colección books, puede usar el método find().
db.books.find();
Ahora, ordenemos estos documentos. Para ordenar por un único campo, encadene el método .sort() a una consulta find(). El método sort() toma un objeto que especifica el campo por el cual ordenar y la dirección: 1 para ascendente y -1 para descendente.
Ordenemos los libros por el número de páginas en orden ascendente (de menos a más páginas).
db.books.find().sort({ pages: 1 });
Verá el libro con menos páginas, "Python Basics", listado primero.
[
{
_id: ObjectId('...'),
title: 'Python Basics',
pages: 250,
price: 29.99
},
{
_id: ObjectId('...'),
title: 'MongoDB Fundamentals',
pages: 300,
price: 34.99
},
...
]
A continuación, ordenemos los libros por precio en orden descendente para encontrar primero los más caros.
db.books.find().sort({ price: -1 });
Este comando mostrará "Data Science" en la parte superior, ya que tiene el precio más alto.
[
{
_id: ObjectId('...'),
title: 'Data Science',
pages: 350,
price: 44.99
},
{
_id: ObjectId('...'),
title: 'JavaScript Advanced',
pages: 400,
price: 39.99
},
...
]