Jak używać operatorów $ in i nin $ w MongoDB

Jak używać operatorów $ in i nin $ w MongoDB
MongoDB obsługuje kilku operatorów, którzy pomagają odzyskać dokument z baz danych. Klasy operatorów obsługiwane przez MongoDB obejmują porównanie, logikę, operatory elementów i tak dalej. $ In (wymawiane jako "W") i $ nin (Nie w) Operatorzy w MongoDB należą do klasy porównawczej operatorów MongoDB. Te operatorzy specjalnie ukierunkowane wyłącznie na wartości tablicy i mogą filtrować kolekcję na podstawie istniejących lub nieistniejących wartości. Na przykład, $ in Operator wyszukuje wartości tablicy i wyświetla tylko te dokumenty pasujące do tablicy, podczas gdy $ nin Operator pomaga wyświetlać tylko te dokumenty, które nie zawierają wartości (które są przekazywane operatorowi $ nin).

W tym artykule przedstawimy szczegółowy przewodnik do użycia $ in I $ nin Operatorzy w MongoDB:

Zaleca się wypełnienie następujących elementów listy warunków wstępnych, aby przejść do zastosowania tych operatorów.

Wymagania wstępne

W tej sekcji zawiera zestaw komponentów z MongoDB, które należy przyjąć, aby śledzić ten przewodnik:

  • Baza danych MongoDB
  • Kolekcja w bazie danych
  • Dokumenty w kolekcji

W tym poście użyjemy następującej bazy danych i kolekcji do zastosowania operatorów $ in i $ nin:

Nazwa bazy danych: Linuxhint

Nazwa kolekcji: Debian

Powinieneś także wstawić kilka dokumentów do kolekcji.

Jak używać operatorów $ in i nin $ w MongoDB

Ten artykuł jest podzielony na dwie części; Jeden odnosi się do $ w operatorze, a drugi pokazuje użycie operatora $ nin.

Po pierwsze, sprawdzimy dokumenty dostępne w naszej kolekcji (abyśmy mogli odpowiednio wykonywać działania).

Połącz się z MongoDB, wydając następujące polecenie w terminalu Ubuntu: zauważa się, że to polecenie automatycznie cię połączy Mongo Shell również.

$ sudo mongo linuxhint

Następnie możesz uzyskać wyświetlanie wszystkich dokumentów dostępnych w swojej kolekcji: na przykład następujące polecenie pomoże odzyskać dokumenty dostępne w „Debian" kolekcja:

> db.Debian.znajdować().ładny()

Jak używać $ w operator w MongoDB

$ in Operator będzie szukał tablicy i pokazuje dokument pasujący do wartości: składnia $ in jest napisane poniżej:

„pole”: $ in: [„value1”, „value2”,…]

Musisz określić nazwę pola i wartości, których chcesz wyszukać:

Przykład 1: Używanie $ w celu dopasowania wartości

$ W operator może być używany do dopasowania wartości w polu i wydrukuje dokumenty pasujące do tej wartości. Na przykład następujące polecenie wyświetli wszystkie dokumenty, które mają „num„(Pole) jest równe do wartości”20„: Ponieważ tylko jeden dokument zawiera wartość”20„;; Zatem tylko ten jest drukowany:

> db.Debian.Znajdź (num: $ in: [20]).ładny()

Przykład 2: Używanie $ w celu dopasowania wartości tablicy (y)

Ponadto możesz również użyć operatora $ do poszukiwania wartości tablicy w bazie danych MongoDB. W naszym przypadku wspomniane poniżej polecenie wyświetli dokumenty, które mają wartości „mikrofon" I "Jacek" W "Autorski" pole:

> db.Debian.Znajdź (autorzy: $ in: [„Mike”, „jack”]).ładny()


Przykład 3: Używanie $ w dopasowaniu wyrażeń regularnych

$ W operatorze można również użyć do dopasowania wartości określonych przez wyrażenie regularne: Polecenie wspomniane poniżej wyświetli dokumenty zawierające pole „Typ”A struny w polu zaczynają się od„Ab" Lub "płyta CD„:

> db.Debian.Znajdź (type: $ in: [/^ab/,/^cd/]).ładny()

Jak używać operatora $ nin w MongoDB

Operator NIN w MongoDB działa przeciwnie do $; Jak $ nin wyświetli dokument, który nie zawiera określonej wartości. Składnia jest podobna do $ in i pokazano poniżej:

„złożony”: $ nin: [„value1”, „value2”…]

Przykład 1: Używanie nin $ do dopasowania wartości

Jak już wspomniano, że operator $ nin nie wyświetla dokumentu, który pasuje do wartości. Poniższe polecenie wyświetli dokumenty, które nie zawierają „20" W "num" pole:

Poniższe wyjście pokazuje, że wydrukowane dokumenty nie zawierają wartości ”20„:

> db.Debian.Znajdź (num: $ nin: [20]).ładny()

Przykład 2: Używanie nin $ do dopasowania wartości tablicy

Poniższe polecenie wyświetli dokumenty, które nie zawierają „mikrofon" I "Jan" w "Autorski" pole. Ponieważ żaden z dokumentów nie pozostaje w tyle, ponieważ wszystkie dokumenty mają też „mikrofon" Lub "Jan„Jako autor będzie puste wyjście:

> db.Debian.Znajdź (Autorzy: $ nin: [„Mike”, „John”]).ładny()

Przykład 3: Używanie nin $ do wyrażenia regularnego

Operator $ nin jest również wykorzystywany do uzyskania dokumentów na podstawie wyrażeń regularnych; Na przykład w poniższym poleceniu „Typ„Wybrane jest pole, a nin $ wydrukuje te dokumenty, w których„ ”Typ„Wartość nie zaczyna się od”Ab" Lub "płyta CD„:

> db.Debian.Znajdź (type: $ nin: [/^ab/,/^cd/]).ładny()

Notatka: „„ładny()„Metoda zastosowana w tym artykule jest po prostu uzyskanie wyjścia w formie strukturalnej; możesz użyć tylko „znajdować()„Aby uzyskać ten sam wynik, ale w nieustrukturyzowany sposób.

Wniosek

Właściwe zarządzanie danymi jest głównym problemem każdej organizacji. Muszą przechowywać dane, a szybkie pobieranie danych jest preferowane w razie potrzeby. Kilka systemów zarządzania bazami danych zapewnia taką funkcjonalność, a MongoDB jest jednym z nich. W tym poście opisaliśmy użycie dwóch operatorów „$ in" I "$ nin”Te pomagające w pobieraniu wartości tablic w bazie danych MongoDB. Operatorzy ci pomagają uzyskać wymagane dokumenty na podstawie wartości dopasowanych przez tych operatorów. $ W operatorze drukuje dokument zawierający dopasowanie; podczas gdy $ nin drukuje te dokumenty, które nie pasują do wartości.