Zapytanie filtra MongoDB

Zapytanie filtra MongoDB
Agregacja filtra MongoDB została wprowadzona w wersji 3.2. Służy do wyboru podzbioru tablicy i zapewnienia wyniku na podstawie kryteriów. Operator filtra zwraca szereg wpisów, które pasują do dostarczonego kryterium w kolejności ich znalezionej. Podczas korzystania z operatora filtra w MongoDB musimy podać dane wejściowe, jak i COND jako argumenty. Wejście i cond są wymagane parametry, jednak „as” jest opcjonalne. Musimy użyć znaku $ przed słowem kluczowym filtra, gdy używamy operatora filtra w MongoDB.

Składnia MongoDB zapytania filtra w Ubuntu 20.04?

Operator Filtr $ zapewnia tablicę z tymi elementami w oryginalnej kolejności, które pasują do stanu. Poniżej wymieniono składnię $ Filter:

$ filtr: input: , Jak: , Cond:
  • Filtr: Operator Filtr $ służy do zapewnienia wyniku spełnienia określonych kryteriów. W MongoDB użyliśmy operatora filtra do filtrowania wyników na podstawie kryterium określonego w zapytaniu.
  • Wejście: Jest to wyrażenie rozdzielczości tablicy. Udało nam się przekazać pole tablicy jako parametr wejściowy do filtrowania rekordów. Zanim użyjemy parametru pola wejściowego w operatorze filtra, musimy użyć znaku $.
  • AS: jest to opcjonalny argument operatora filtra. To jest nazwa pola, która została wykorzystana jako element w tablicy wejściowej. Ten parametr jest typu ciągów w operatorze filtra. Używając słowa kluczowego „jako”, to wyrażenie uzyskuje dostęp do każdego elementu w tablicy wejściowej.
  • Cond: Ta opcja określa, gdzie należy uwzględnić wartość z wygenerowanej tablicy. Ten parametr jest typu wyrażenia w operatorze filtra. Wartości z danego zbioru zostały przefiltrowane za pomocą wyrażenia. Możemy użyć wielu operatorów warunkowych do filtrowania danych z elementów tablicy.

Jak działa zapytanie filtra w MongoDB w Ubuntu 20.04:

Operator filtru MongoDB $ służy do filtrowania dokumentów z tablicy opartej na warunku, który zdefiniowaliśmy w naszym zapytaniu. Na podstawie danego warunku zwraca podzbiór tablicy. Tylko te wpisy do tablicy, które spełniają wymagania, są zwracane. Elementy są ponownie złożone w tym samym układzie, co wcześniej.

Spójrzmy na niektóre przypadki, aby pomóc Ci zrozumieć, o czym rozmawiamy. Podczas przechodzenia przez artykuł chcielibyśmy wypróbować przykłady w skorupce Mongo. Zaczynamy od utworzenia kolekcji bazy danych, która wykorzystuje się w całym artykule.

Tutaj zdefiniowaliśmy zbiór bazy danych jako „kandydatów” za pomocą powłoki MongoDB. W tej kolekcji mamy zdefiniowane pole identyfikatora, nazwy i znaków. Włożyliśmy siedem dokumentów w tym samym czasie, używając zapytania InsertMany.

Kolekcja „kandydaci” wywołuje funkcję znalezienia jak w powyższym zapytaniu. Następnie zarejestrowany dokument wyświetla pole i jego odpowiednie wartości. Zauważ, że w polu „Znaki” tablica jest zdefiniowana za pomocą niektórych losowych wartości.

Przykład 1: Korzystanie z operatora Filter $ w MongoDB w Ubuntu 20.04:

Operator Filtr $ służy do filtrowania elementów tablicy w polu „Znaki” z danej kolekcji w poniższym przykładzie:

Wykorzystaliśmy agregowane zapytanie do kolekcji „kandydatów”. Wewnątrz tego zapytania mamy operator $ Match, który służy do filtrowania dokumentu według identyfikatora. Przypisaliśmy pole identyfikatorów A $ w operator. $ W operator znajduje dokumenty, w których wartość id jest równa dowolnej wartości w dostarczonej tablicy. Następnie operator $ filtra jest przekazywany argument wejściowy i ustawia swoją wartość „$ Marks”. Używany jest również parametr „AS”, który zwraca nazwę pola „Znaki”. Następnie określiliśmy parametr COND, który wykorzystuje większy niż operator na polu „$$ Marks”.

Postępując zgodnie z powyższym zapytaniem, wynik, który otrzymaliśmy, jest pokazany na rysunku z nową nazwą pola wysokich.

Przykład 2: Korzystanie z operatora Filter $ dla pustej tablicy w MongoDB w Ubuntu 20.04:

Gdy jeden z naszych dokumentów zbiórki ma pustą tablicę, operator filtra zwraca pusty zestaw tablicy, co można zobaczyć tutaj:

W meczu $ określiliśmy identyfikator, który ma $ w operator, który zwraca identyfikator „7” z kolekcji, ponieważ daliśmy „7” w tablicy. Następnie zapytanie $ Filter dostarczyło pole kolekcji „Marks”, które zwraca pustą tablicę, ponieważ żadna wartość nie jest przechowywana w polu „Marks” ID „7”.

Wynik operatora filtra ma tutaj pusty zestaw dokumentu.

Przykład 3: Korzystanie z operatora Filter $ dla niewłaściwego typu w MongoDB w Ubuntu 20.04:

Jeśli spróbujemy użyć filtra $ na polu, który nie ma tablicy, otrzymamy błąd. Poniżej znajduje się demonstracja tego stwierdzenia.

Podaliśmy „nazwę” pola z dokumentu, którego identyfikator jest „5” wewnątrz operatora filtra $. W parametrze Cond Cond Filter mamy operator $ EQ, który przyjmuje pole „$ Nazwa” i odpowiada określonej do niego wartość ciągu.

Po uruchomieniu powyższego zapytania komunikat o błędzie pokazuje, że typ musi być tablicą w operatorze $ filtr, jak pokazano na rysunku.

Przykład 4: Korzystanie z operatora $ Filter z $ ta zmienna w MongoDB w Ubuntu 20.04:

Użyliśmy parametru „jako”, aby nadać zmiennej nazwy we wcześniejszych przypadkach. Parametr AS jest opcjonalny. Jeśli ustawym to pole puste, nazwa zmiennej będzie domyślnie „to”.

Tutaj określiliśmy tablicę w $ w operatorze, który wybiera pola identyfikacyjne z dokumentów danego zbioru w meczu $. Następnie filtr $ ma dwuparametrowy, wejściowy i cond. Parametr COND ma większy niż operator, który pobiera znaki większe niż 65. Nie użyliśmy ich jako parametru, zamiast tego wykorzystaliśmy $$ to nazwa pola.

Dlatego przy użyciu $$, aby odnieść się do pola, otrzymaliśmy takie same wyniki jak „AS”. Wyjście jest zadowolone ze stanu $ dopasowania i warunku $ filtra widocznego na zdjęciu.

Wniosek:

To jest przewodnik filtra MongoDB. W tym artykule przeszliśmy przez definicję, składnię i sposób funkcjonowania filtrów w MongoDB. Podano również przykłady i wdrożenie kodu. Elementy pola tablicy są filtrowane za pomocą operatora filtru MongoDB. Aby pobrać dane z elementów tablicy, wykorzystaliśmy kilka warunków, takich jak $ GT, $ LT, $ GTE i $ LTE.