MongoDB -Sortierfunktion

MongoDB -Sortierfunktion
In diesem Tutorial werden wir untersuchen, wie die MongoDB -Sortierfunktion verwendet wird. Diese Funktion ermöglicht es uns, die Reihenfolge zu definieren, in der der MongoDB Cursor übereinstimmende Dokumente zurückgibt.

Die Funktionssyntax ist wie gezeigt:

db.Sammlung.sort (field: value)

Die Funktion akzeptiert das Dokument, das ein bestimmtes Feld und die Sortierreihenfolge enthält. Der Wert von 1 zeigt eine aufsteigende Reihenfolge, während -1 eine absteigende Sortierreihenfolge angibt.

Die Funktion gibt die in der angegebenen Reihenfolge sortierten abfragten Dokumente wie in den Feld- und Wertparametern sortiert zurück.

Beispiel

Erstellen Sie zunächst eine Sammlung und fügen Sie einige Beispieldokumente hinzu.

Die Abfrage ist wie gezeigt:

db.CreateCollection ("Filme")
db.Filme.InsertMany (
[

"show_id": "s1",
"Typ": "Film",
"Titel": "Dick Johnson ist tot",
"Direktor": "Kirsten Johnson",
"Cast": Null,
"Land: Vereinigte Staaten",
"Date_Added": "25. September 2021",
"Release_year": numberInt (2020),
"Bewertung": "PG-13",
"Dauer": "90 min",
"Listed_in": "Dokumentarfilme"
,

"show_id": "s2",
"Typ": "TV -Show",
"Titel": "Blut & Wasser",
"Regisseur": Null,
"Cast": Null,
"Land": "Südafrika",
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "2 Jahreszeiten",
"Listed_in": "Internationale Fernsehsendungen, TV -Dramen, TV -Mysterien",
,

"show_id": "s3",
"Typ": "TV -Show",
"Titel": "Ganglands",
"Direktor": "Julien Leclercq",
"Cast": Null,
"Land": Null,
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "1 Saison",
"Listed_in": "Kriminalitätsfernsehsendungen, internationale Fernsehsendungen, TV Action & Adventure",
,

"show_id": "s4",
"Typ": "TV -Show",
"Titel": "Jailbirds New Orleans",
"Regisseur": Null,
"Cast": Null,
"Land": Null,
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "1 Saison",
"Listed_in": "Docuseries, Reality -TV",
,

"show_id": "s5",
"Typ": "TV -Show",
"Titel": "Kota Factory",
"Regisseur": Null,
"Cast": Null,
"Land": "Indien",
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "2 Jahreszeiten",
"Listed_in": "Internationale Fernsehsendungen, romantische Fernsehsendungen, TV -Komödien",

]
)

Aus den obigen Dokumenten können wir die Sortierfunktion verwenden, um die Dokumente in der Bewertung in aufsteigender Reihenfolge zu sortieren.

Die Abfrage ist wie gezeigt:

db.Filme.finden().sort ("Bewertung": 1)

Durch das Ausführen der obigen Abfrage sortiert die Dokumente in alphabetischer Reihenfolge basierend auf dem Bewertungsfeld. Es ist gut zu bedenken, dass die Sortierreihenfolge, da die Sammlung doppelte Werte für die Bewertungen enthält, über mehrere Hinrichtungen hinweg inkonsistent sein kann.

Wir können die Dokumente auch in absteigender Reihenfolge sortieren, indem wir den Sortierwert auf -1 festlegen. Ein Beispiel ist wie gezeigt:

db.Filme.finden().sort ("release_year": -1)

Die obige Abfrage sollte die in absteigender Reihenfolge sortierten Dokumente basierend auf dem Feld Release_year sortiert zurückgeben.

Die resultierende Ausgabe ist wie gezeigt:


"_id": ObjectID ("632AF6B69C8D85D13EB419A4"),
"show_id": "s2",
"Typ": "TV -Show",
"Titel": "Blut & Wasser",
"Regisseur": Null,
"Cast": Null,
"Land": "Südafrika",
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "2 Jahreszeiten",
"Listed_in": "Internationale Fernsehsendungen, TV -Dramen, TV -Mysterien"


"_id": ObjectID ("632AF6B69C8D85D13EB419A5"),
"show_id": "s3",
"Typ": "TV -Show",
"Titel": "Ganglands",
"Direktor": "Julien Leclercq",
"Cast": Null,
"Land": Null,
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "1 Saison",
"Listed_in": "Kriminalitätsfernsehsendungen, internationale Fernsehsendungen, TV Action & Adventure"


"_id": ObjectID ("632AF6B69C8D85D13EB419A6"),
"show_id": "s4",
"Typ": "TV -Show",
"Titel": "Jailbirds New Orleans",
"Regisseur": Null,
"Cast": Null,
"Land": Null,
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "1 Saison",
"Listed_in": "Docuseries, Reality -TV"


"_id": ObjectID ("632AF6B69C8D85D13EB419A7"),
"show_id": "s5",
"Typ": "TV -Show",
"Titel": "Kota Factory",
"Regisseur": Null,
"Cast": Null,
"Land": "Indien",
"Date_Added": "24. September 2021",
"Release_year": numberInt (2021),
"Bewertung": "tv-ma",
"Dauer": "2 Jahreszeiten",
"Listed_in": "Internationale Fernsehsendungen, romantische Fernsehsendungen, TV -Komödien"


"_id": ObjectID ("632AF6B69C8D85D13EB419A3"),
"show_id": "s1",
"Typ": "Film",
"Titel": "Dick Johnson ist tot",
"Direktor": "Kirsten Johnson",
"Cast": Null,
"Land: Vereinigte Staaten",
"Date_Added": "25. September 2021",
"Release_year": numberInt (2020),
"Bewertung": "PG-13",
"Dauer": "90 min",
"Listed_in": "Dokumentarfilme"

Abschluss

In diesem Artikel haben wir besprochen, wie man den Cursor benutzt.Sort () Methode in MongoDB. Wir können die Funktion "sort () verwenden, um die Ergebnisse einer Abfrage in aufsteigender oder absteigender Reihenfolge zu sortieren.