Ordenar Documentos por um Único Campo
Nesta etapa, você aprenderá como classificar documentos em uma coleção MongoDB. A classificação permite organizar os resultados da consulta em uma ordem específica, o que é crucial para análise e apresentação de dados. Seu ambiente foi pré-configurado com um banco de dados bookstore contendo uma coleção books.
Primeiro, abra o shell MongoDB para interagir com o banco de dados. No seu terminal, execute o seguinte comando:
mongosh
Uma vez dentro do shell, mude para o banco de dados bookstore.
use bookstore
Para ver os documentos na coleção books, você pode usar o método find().
db.books.find();
Agora, vamos classificar esses documentos. Para classificar por um único campo, você encadeia o método .sort() a uma consulta find(). O método sort() recebe um objeto especificando o campo pelo qual classificar e a direção: 1 para ascendente e -1 para descendente.
Vamos classificar os livros pelo número de páginas em ordem ascendente (do menor para o maior número de páginas).
db.books.find().sort({ pages: 1 });
Você verá o livro com o menor número de páginas, "Python Basics", listado primeiro.
[
{
_id: ObjectId('...'),
title: 'Python Basics',
pages: 250,
price: 29.99
},
{
_id: ObjectId('...'),
title: 'MongoDB Fundamentals',
pages: 300,
price: 34.99
},
...
]
Em seguida, vamos classificar os livros por preço em ordem descendente para encontrar os mais caros primeiro.
db.books.find().sort({ price: -1 });
Este comando exibirá "Data Science" no topo, pois ele tem o preço mais alto.
[
{
_id: ObjectId('...'),
title: 'Data Science',
pages: 350,
price: 44.99
},
{
_id: ObjectId('...'),
title: 'JavaScript Advanced',
pages: 400,
price: 39.99
},
...
]