Funkcja sortowania MongoDB

Funkcja sortowania MongoDB
W tym samouczku zbadamy, jak korzystać z funkcji sortowania MongoDB. Ta funkcja pozwala nam zdefiniować kolejność, w której kursor MongoDB zwraca dopasowane dokumenty.

Składnia funkcji jest jak pokazana:

db.Kolekcja.sort (field: wartość)

Funkcja akceptuje dokument zawierający określone pole i kolejność sortowania. Wartość 1 pokazuje kolejność rosnącą, podczas gdy -1 wskazuje na zejście kolejność sortowania.

Funkcja zwróci zapytane dokumenty posortowane w określonej kolejności zgodnie z definicją w polu i parametrach wartości.

Przykład

Zacznij od utworzenia kolekcji i dodania przykładowych dokumentów.

Zapytanie jest takie, jak pokazano:

db.CreateCollection („Films”)
db.filmy.wstrząs
[[[

„show_id”: „s1”,
„Typ”: „film”,
„Tytuł”: „Dick Johnson jest martwy”,
„Dyrektor”: „Kirsten Johnson”,
„Cast”: Null,
„Kraj”: „Stany Zjednoczone”,
„DATE_ADDED”: „25 września 2021”,
„Release_year”: numerint (2020),
„Ocena”: „PG-13”,
„Czas trwania”: „90 min”,
„Listed_in”: „Dokumenty”
,

„show_id”: „s2”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Blood & Water”,
„Dyrektor”: Null,
„Cast”: Null,
„Kraj”: „Republika Południowej Afryki”,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „2 sezony”,
„Listed_in”: „Międzynarodowe programy telewizyjne, dramaty telewizyjne, tajemnice telewizyjne”,
,

„show_id”: „s3”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Ganglands”,
„Dyrektor”: „Julien Leclercq”,
„Cast”: Null,
„kraj”: null,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „1 sezon”,
„Listed_in”: „Crime TV Programy, międzynarodowe programy telewizyjne, TV Action & Adventure”,
,

„show_id”: „s4”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Jailbirds New Orleans”,
„Dyrektor”: Null,
„Cast”: Null,
„kraj”: null,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „1 sezon”,
„Listed_in”: „Docuseries, Reality TV”,
,

„show_id”: „s5”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Kota Factory”,
„Dyrektor”: Null,
„Cast”: Null,
„Kraj”: „Indie”,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „2 sezony”,
„Listed_in”: „Międzynarodowe programy telewizyjne, romantyczne programy telewizyjne, komedie telewizyjne”,

]
)

Z powyższych dokumentów możemy użyć funkcji sortowania do sortowania dokumentów na podstawie oceny w kolejności rosnącej.

Zapytanie jest takie, jak pokazano:

db.filmy.znajdować().sort („ocena”: 1)

Uruchomienie powyższego zapytania sortuje dokumenty w kolejności alfabetycznej na podstawie pola oceny. Warto pamiętać, że ponieważ kolekcja zawiera duplikaty wartości dla ocen, kolejność sortowania może być niespójna w kilku egzekucjach.

Możemy również sortować dokumenty w kolejności malejącej, ustawiając wartość sortowania na -1. Przykładem jest jak pokazano:

db.filmy.znajdować().sort („release_year”: -1)

Powyższe zapytanie powinno zwrócić dokumenty posortowane w kolejności malejącej na podstawie pola release_year.

Powstałe wyjście jest jak pokazano:


„_id”: ObjectID (”632AF6B69C8D85D13EB419A4”),
„show_id”: „s2”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Blood & Water”,
„Dyrektor”: Null,
„Cast”: Null,
„Kraj”: „Republika Południowej Afryki”,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „2 sezony”,
„Listed_in”: „Międzynarodowe programy telewizyjne, dramaty telewizyjne, tajemnice telewizyjne”


„_id”: ObjectID (”632AF6B69C8D85D13EB419A5”),
„show_id”: „s3”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Ganglands”,
„Dyrektor”: „Julien Leclercq”,
„Cast”: Null,
„kraj”: null,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „1 sezon”,
„Listed_in”: „Crime TV Programy, międzynarodowe programy telewizyjne, TV Action & Adventure”


„_id”: ObjectID (”632AF6B69C8D85D13EB419A6”),
„show_id”: „s4”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Jailbirds New Orleans”,
„Dyrektor”: Null,
„Cast”: Null,
„kraj”: null,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „1 sezon”,
„Listed_in”: „Docuseries, Reality TV”


„_id”: ObjectID (”632AF6B69C8D85D13EB419A7”),
„show_id”: „s5”,
„Typ”: „program telewizyjny”,
„Tytuł”: „Kota Factory”,
„Dyrektor”: Null,
„Cast”: Null,
„Kraj”: „Indie”,
„Date_Added”: „24 września 2021”,
„Release_year”: liczbint (2021),
„Ocena”: „TV-MA”,
„Czas trwania”: „2 sezony”,
„Listed_in”: „Międzynarodowe programy telewizyjne, romantyczne programy telewizyjne, komedie telewizyjne”


„_id”: ObjectID (”632AF6B69C8D85D13EB419A3”),
„show_id”: „s1”,
„Typ”: „film”,
„Tytuł”: „Dick Johnson jest martwy”,
„Dyrektor”: „Kirsten Johnson”,
„Cast”: Null,
„Kraj”: „Stany Zjednoczone”,
„DATE_ADDED”: „25 września 2021”,
„Release_year”: numerint (2020),
„Ocena”: „PG-13”,
„Czas trwania”: „90 min”,
„Listed_in”: „Dokumenty”

Wniosek

W tym artykule omówiliśmy, jak korzystać z kursora.sort () metoda w MongoDB. Możemy użyć funkcji sort (), aby sortować wyniki zapytania w kolejności rosnącej lub malejącej.