In questo tutorial, esploreremo come utilizzare la funzione di ordinamento mongodb. Questa funzione ci consente di definire l'ordine in cui il cursore MongoDB restituisce i documenti di corrispondenza.
La sintassi della funzione è come mostrata:
db.Collezione.Ordine (field: value)
La funzione accetta il documento contenente un campo specifico e l'ordine di ordinamento. Il valore di 1 mostra un ordine ascendente mentre -1 indica un ordine di ordinamento discendente.
La funzione restituirà i documenti interrogati ordinati nell'ordine specificato come definito nei parametri di campo e valore.
Esempio
Inizia creando una raccolta e aggiungendo alcuni documenti di esempio.
La query è come mostrata:
db.CreateCollection ("Films")
db.Film.InsertMany (
[
"show_id": "S1",
"tipo": "film",
"Titolo": "Dick Johnson è morto",
"Direttore": "Kirsten Johnson",
"cast": null,
"Paese": "Stati Uniti",
"Date_added": "25 settembre 2021",
"Release_year": NumberInt (2020),
"Valutazione": "PG-13",
"Durata": "90 min",
"List_in": "Documentari"
,
"show_id": "S2",
"Tipo": "Show televisivo",
"Titolo": "Blood & Water",
"Direttore": Null,
"cast": null,
"Paese": "Sudafrica",
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "2 stagioni",
"elended_in": "programmi TV internazionali, drammi TV, misteri TV",
,
"show_id": "S3",
"Tipo": "Show televisivo",
"Titolo": "Ganglands",
"Direttore": "Julien Leclercq",
"cast": null,
"Paese": null,
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "1 stagione",
"elented_in": "CRIME TV Show, International TV Show, TV Action & Adventure",
,
"show_id": "S4",
"Tipo": "Show televisivo",
"Titolo": "Jailbirds New Orleans",
"Direttore": Null,
"cast": null,
"Paese": null,
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "1 stagione",
"List_in": "Docuseries, Reality TV",
,
"show_id": "S5",
"Tipo": "Show televisivo",
"Titolo": "Kota Factory",
"Direttore": Null,
"cast": null,
"Paese": "India",
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "2 stagioni",
"elented_in": "programmi TV internazionali, programmi TV romantici, commedie televisive",
"
)
Dai documenti sopra, possiamo utilizzare la funzione di ordinamento per ordinare i documenti in base alla valutazione in ordine crescente.
La query è come mostrata:
db.Film.Trovare().Ordine ("valutazione": 1)
L'esecuzione della query sopra ordinerà i documenti in ordine alfabetico in base al campo di valutazione. È bene tenere presente che poiché la raccolta contiene valori duplicati per le valutazioni, l'ordine di ordinamento può essere incoerente tra diverse esecuzioni.
Possiamo anche ordinare i documenti in ordine decrescente impostando il valore di ordinamento su -1. Un esempio è come mostrato:
db.Film.Trovare().Ordine ("rilascio_year": -1)
La query sopra dovrebbe restituire i documenti ordinati in ordine decrescente in base al campo di rilascio_year.
L'output risultante è come mostrato:
"_id": objectid ("632af6b69c8d85d13eb419a4"),
"show_id": "S2",
"Tipo": "Show televisivo",
"Titolo": "Blood & Water",
"Direttore": Null,
"cast": null,
"Paese": "Sudafrica",
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "2 stagioni",
"elended_in": "programmi TV internazionali, drammi TV, misteri TV"
"_id": objectid ("632af6b69c8d85d13eb419a5"),
"show_id": "S3",
"Tipo": "Show televisivo",
"Titolo": "Ganglands",
"Direttore": "Julien Leclercq",
"cast": null,
"Paese": null,
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "1 stagione",
"elented_in": "CRIME TV Show, International TV Show, TV Action & Adventure"
"_id": objectid ("632af6b69c8d85d13eb419a6"),
"show_id": "S4",
"Tipo": "Show televisivo",
"Titolo": "Jailbirds New Orleans",
"Direttore": Null,
"cast": null,
"Paese": null,
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "1 stagione",
"List_in": "Docuseries, Reality TV"
"_id": objectid ("632af6b69c8d85d13eb419a7"),
"show_id": "S5",
"Tipo": "Show televisivo",
"Titolo": "Kota Factory",
"Direttore": Null,
"cast": null,
"Paese": "India",
"Date_added": "24 settembre 2021",
"Release_year": NumberInt (2021),
"Valutazione": "TV-MA",
"Durata": "2 stagioni",
"elented_in": "programmi TV internazionali, programmi TV romantici, commedie televisive"
"_id": objectid ("632af6b69c8d85d13eb419a3"),
"show_id": "S1",
"tipo": "film",
"Titolo": "Dick Johnson è morto",
"Direttore": "Kirsten Johnson",
"cast": null,
"Paese": "Stati Uniti",
"Date_added": "25 settembre 2021",
"Release_year": NumberInt (2020),
"Valutazione": "PG-13",
"Durata": "90 min",
"List_in": "Documentari"
Conclusione
In questo articolo, abbiamo discusso di come usare il cursore.Metodo Ordina () in MongoDB. Possiamo usare la funzione Ord () per ordinare i risultati di una query in ordine crescente o discendente.