MongoDB to baza danych typu NoSQL i przewiduje się, że te bazy danych nie są zgodne z RDBM (relacyjne systemy zarządzania bazą danych), a zatem nie zapewniają szeroko zakrojonych metod połączenia. Jednak koncepcja łączenia MongoDB jest inspirowana bazami danych SQL, ponieważ początkowo sam MongoDB nie dostarczył żadnej metody łączenia. Możesz dołączyć do dwóch kolekcji w MongoDB za pomocą $ Lookup Operator agregacji.
Pojedynczy zbiór może nie opisywać danych przechowywanych w nim; Jedna kolekcja może zawierać takie pola, które należy powiązać z polem innej kolekcji, aby opisać to pole. W tym celu możesz użyć operatora wyszukiwania metody agregacji. Jednak po wprowadzeniu $spojrzeć w górę Operator, użytkownicy mogą cieszyć się dołączeniem do dostępu w MongoDB.
W tym artykule krótko wyjaśniliśmy wykorzystanie operatora $ Lookup, a przedstawiono kilka przykładów, które pokazują mechanizm łączenia MongoDB.
Jak działa dołączenie w MongoDB
Ta sekcja zawiera podstawowy mechanizm pracy operatora $ Lookup, który jest stosowany w metodzie agregacji do wykonania połączenia w MongoDB. Składnia jest podana poniżej:
Składnia
> db.Nazwa kolekcji.agregat([Warunki używane w składni są tutaj wyjaśnione:
- Nazwa kolekcji: Nazwa kolekcji, na której jesteś obecny lub stosuje się operator wyszukiwania $
- z Kolekcja, której celem jest dołączyć
- Lokalne pole: To reprezentuje pole dokumentu w bieżącej kolekcji, która będzie używana do dopasowania do innych kolekcji
- Pole zagraniczne: Pole kolekcji (do połączenia), które może reprezentować cały dokument. (unikalny identyfikator)
- Jak: Zawiera pole tablicy, które jest tworzone po dołączeniu
Nadchodząca sekcja będzie zademonstrować dołączenie do dwóch kolekcji w bazie danych MongoDB.
Wymagania wstępne
Jak wspomniano wcześniej, z pomocą operatora $ Lookup, możesz dopasować dwie kolekcje bazy danych. Aby wykonać tę operację, musisz potrzebować dwóch kolekcji z bazy danych.
W tym poście użyliśmy „personel" I "informacje”Jako zbiór„Linuxhint" Baza danych. Zachowaj ostrożność podczas wybierania kolekcji, ponieważ możesz dołączyć tylko do dwóch kolekcji, które znajdują się w tym samym Baza danych.
„„personel”Kolekcja zawiera następujące dokumenty w nim: Polecenie wspomniane poniżej służy do pobierania dokumentów„personel" kolekcja.
> db.personel.znajdować().ładny()I treść drugiej kolekcji ”informacje”Wyświetla się przez wydanie następującego polecenia:
> db.informacje.znajdować().ładny()Jak dołączyć do dwóch kolekcji w MongoDB
W tej sekcji nauczysz się wykonać dołączenie do MongoDB. W tym celu wykonaliśmy akcję, aby dołączyć do „personel”Kolekcja z„informacje" kolekcja.
W poniższym poleceniu metoda agregowana ćwiczy operator $ Lookup, aby uzyskać informacje z obu kolekcji i dołączy do nich na podstawie następującego warunku:
Jeśli „Lokalne pole" z "personel„Kolekcja pasuje do„pole zagraniczne" z "informacje" kolekcja.
> db.personel.agregat([Łączenie można zobaczyć w sekcji wyjściowej obrazu poniżej. Wykorzystaliśmy poniższą etykietę, aby zapewnić lepsze zrozumienie.
„„Wejście" I "wyjście”Etykiety pokazują odpowiednio wstawione polecenie i jego wynik. Dane obu kolekcji po dołączeniu są również oznaczone i pole tablicy „Personel_info”Zawiera dane„informacje”Kolekcja po dołączeniu.
Wniosek
MongoDB jest dobrze znany ze względu na obszerne wsparcie dla przetwarzania danych w bazie danych. Nie obsługuje jednak żadnej dedykowanej metody łączenia kolekcji, takich jak w bazach danych opartych na SQL. Alternatywa dla dołączenia, MongoDB obsługuje operator $ Lookup, którego można zastosować w metodzie agregacji do wykonania lewego połączenia. W tym samouczku z serii MongoDB wyjaśniliśmy zjawisko robocze operatora $ sharpUp w metodzie agregacji. Podążając za tym przewodnikiem, entuzjasta Mongo byłby w stanie dołączyć do jednej kolekcji z drugą…