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.