Questo capitolo introduce come ordinare i risultati delle query in MongoDB, simile all'uso della clausola ORDER BY di MySQL. La paginazione in MongoDB è ottenuta attraverso la funzione sort del cursore Cursor.

Preparare dati di test

Inserire alcuni record nella raccolta ristoranti

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"},
] );

Ordinare i risultati

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

Spiegazione:

  • Utilizzare la funzione sort impostare il campo di ordinamento.
  • Query tutti i dati e ordinare per _id in ordine crescente.

Formato dei parametri della funzione di ordinamento:

<campo>: 1 o -1

Spiegazione:

  • 1 rappresenta l'ordine crescente.
  • -1 rappresenta l'ordine decrescente.

Combinare con la paginazione

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

Spiegazione:

  • Query tutti i dati, restituendo un massimo di 2 record, saltando 2 record e ordinando per _id in ordine decrescente.