Este capítulo apresenta como ordenar os resultados de consulta no MongoDB, semelhante ao uso da cláusula ORDER BY do MySQL. A paginação no MongoDB é alcançada através da função sort
do cursor Cursor.
Preparar dados de teste
Inserir alguns registros na coleção de restaurantes
db.restaurantes.insertMany( [
{ "_id" : 1, "nome" : "Central Park Cafe", "bairro" : "Manhattan"},
{ "_id" : 2, "nome" : "Rock A Feller Bar and Grill", "bairro" : "Queens"},
{ "_id" : 3, "nome" : "Empire State Pub", "bairro" : "Brooklyn"},
{ "_id" : 4, "nome" : "Stan's Pizzaria", "bairro" : "Manhattan"},
{ "_id" : 5, "nome" : "Jane's Deli", "bairro" : "Brooklyn"},
] );
Ordenando os resultados
db.restaurantes.find({}).sort({_id:1})
Explicação:
- Use a função
sort
para definir o campo de ordenação. - Consulte todos os dados e ordene por _id em ordem crescente.
Formato dos parâmetros da função sort:
<campo>: 1 ou -1
Explicação:
- 1 representa ordem crescente.
- -1 representa ordem decrescente.
Combinação com a paginação
db.restaurantes.find({}).limit(2).skip(2).sort({_id:-1})
Explicação:
- Consulte todos os dados, retorne no máximo 2 registros, pule 2 registros e ordene por _id em ordem decrescente.