Este capítulo presenta cómo ordenar los resultados de una consulta en MongoDB, similar al uso de la cláusula ORDER BY de MySQL. La paginación en MongoDB se logra a través de la función sort del cursor Cursor.

Preparar datos de prueba

Insertar algunos registros en la colección de restaurantes

db.restaurants.insertMany( [
   { "_id" : 1, "name" : "Central Park Cafe", "borough" : "Manhattan"},
   { "_id" : 2, "name" : "Rock A Feller Bar and Grill", "borough" : "Queens"},
   { "_id" : 3, "name" : "Empire State Pub", "borough" : "Brooklyn"},
   { "_id" : 4, "name" : "Stan's Pizzaria", "borough" : "Manhattan"},
   { "_id" : 5, "name" : "Jane's Deli", "borough" : "Brooklyn"},
] );

Ordenar los resultados

db.restaurants.find({}).sort({_id:1})

Explicación:

  • Utiliza la función sort para establecer el campo de ordenación.
  • Consulta todos los datos y los ordena por _id en orden ascendente.

Formato de los parámetros de la función sort:

<campo>: 1 o -1

Explicación:

  • 1 representa orden ascendente.
  • -1 representa orden descendente.

Combinando con la paginación

db.restaurants.find({}).limit(2).skip(2).sort({_id:-1})

Explicación:

  • Consulta todos los datos, devuelve un máximo de 2 registros, salta 2 registros y los ordena por _id en orden descendente.