MongoDB i operator

MongoDB i operator
MongoDB $ i operator służy jako funkcjonalność logicznych i operacyjnych w jednym lub większej liczbie wyrażeń w tablicy. $ I operator mogą być wdrażane w ramach metod takich jak Find (), aktualizacja () i tak dalej, na podstawie wymagań użytkownika. Wyniki $ i operatora są prawdziwe, jeśli wszystkie określone wyrażenia oceniają prawdziwe wyniki. Kiedy $ i operator mają wyrażenie, które ocenia się jako fałszywe, kończy ocenę pozostałych wyrażeń. Jest to znane jako ocena zwarcia. Ponadto wejścia zerowe, zerowe i niezdefiniowane są oceniane jako fałszywe przez $ i operator.

Jak korzystać z $ i operatora w MongoDB?

Składnia i operatora jest prosta w MongoDB. „$ I: [exp1, exp2,…]” jest używany z nazwą kolekcji MongoDB. Zauważ, że $ i operator biorą dwa lub więcej niż dwa wyrażenia i odpowiadają dokumentom, które spełniają wszystkie te wyrażenia. Kolekcja jest wymagana, na której zamierzamy zastosować operator logiczny. W tym celu stworzyliśmy kolekcję MongoDB „Podstawowe”, w której dokumenty są wstawiane metodą INSERTMANY ().

db.Podstawowe.wstrząs

„StudentName”: „Kyle”,
"Płeć żeńska",
„Wiek”: 9,
„Klasa”: „kg”,
„AdmissionYear”: 2022,
„Procent”: 99.64,

„StudentName”: „Carle”,
"Płeć męska",
„Wiek”: 8,
„Klasa”: „kg”,
„AdmissionYear”: 2018,
„Procent”: 91.94,

„StudentName”: „Walker”,
"Płeć męska",
„Wiek”: 11,
„Klasa”: „jeden”,
„AdmissionYear”: 2021,
„Procent”: 95.56,

„StudentName”: „Bella”,
"Płeć żeńska",
„Wiek”: 6,
„Klasa”: „PG”,
„AdmissionYear”: 2022,
„Procent”: 93.12,

„StudentName”: „Alex”,
"Płeć męska",
„Wiek”: 12,
„Klasa”: „dwa”,
„AdmissionYear”: 2021,
„Procent”: 98.96])

Mamy pięć dokumentów w kolekcji „Podstawowych”, które są wymienione z wkładkami, jak pokazano na poniższym obrazie powłoki:

Przykład nr 1: MongoDB $ i operator i $ lub różnica operatora.

$ I operator i $ lub operator są uważani za logicznych operatorów MongoDB. Te operatorzy są używane do dopasowania wymaganego dokumentu z danego zbioru. $ I operator MongoDB potrzebuje wszystkich wyrażeń, które należy ocenić jako „prawdziwe”. Jeśli którykolwiek z określonych wyrażeń w $ i operator zwraca fałszywe wyniki, $ i operator przestaną oceniać inne wyrażenia. Tutaj mamy proste zapytanie $ i operatora, które jest stosowane do kolekcji „podstawowychstudentów”. $ I operator jest wdrażany w metodzie FINK () w celu znalezienia dopasowanego dokumentu, który spełnił określone wyrażenia. $ I operator otrzymują dwa wyrażenia: „StudentName:„ Bella ”” i „Age: 12”. $ I operator są zobowiązani do dopasowania dokumentu, którego „nazwa studenta” to „Bella”, a „wiek” to „12”. Pierwsze wyrażenie jest oceniane najpierw, gdy zapewnia to prawdziwą wartość, a następnie $ i operator oceniają drugie wyrażenie.

db.Podstawowe.Znajdź ($ i: [StudentName: „Bella”, wiek: 12])

Uzyskaliśmy wyniki oparte na obu wyrażeniach o prawdziwych wartościach. Poniższy dokument zawiera „StudentName: Bella” i „Wiek: 12”:

Teraz rozważ przykładowe zapytanie $ lub operatora. Mamy $ lub operator, który przyjmuje wyrażenia „StudentName:„ Walker ”” i „Age: 6”. $ Lub operator szukał nazwy studenckiej „Walker”, a wyrażenie jest fałszywe, a następnie szukał następnego wyrażenia, którym jest wiek powinien być „6” dokumentu. $ Lub operator tworzy wyniki na podstawie tego, który z dwóch wyrażeń zwraca prawdziwie.

db.Podstawowe.Znajdź ($ lub: [StudentName: „Walker”, wiek: 6])

Dwa dokumenty są pobierane z $ lub operatora, ponieważ oba wyrażenia mają takie same wyniki, ale dokumenty są różne. Jeśli mamy jedno fałszywe wyrażenie, zostanie uzyskany tylko jeden dokument zgodnie z wymogiem $ lub operatora.

Przykład nr 2: MongoDB $ i operator tego samego pola.

Ogólna reprezentacja $ i operatora i jego ocena w MongoDB pokazano w powyższym zapytaniu. Teraz używamy $ i operatora dla tych samych pól, aby uzyskać dopasowany dokument. $ I operator są określone w wyrażeniu „class: $ eq:„ kg ”, class: $ istnieje: true”, gdzie „klasa” to nazwa pola, która używa równej „$ eq ”operator, aby znaleźć wartość„ kg ”z dokumentów. Następnie pola „klasa” przypisuje się operator $ EXT, który jest ustawiony za pomocą słowa kluczowego „True”, aby znaleźć wszystkie istniejące dokumenty zawierające określoną wartość pola.

db.Podstawowe.Znajdź ($ i: [class: $ eq: "kg", class: $ istnieje: true])).ładny()

Są to następujące istniejące dokumenty zwrócone przez $ i operator, które mają wartość „klasową” „kg”:

Przykład nr 3: MongoDB $ i operator wielu pól.

Jak wspomnieliśmy wcześniej, $ i operator można również przekazać z wieloma wyrażeniami. $ I operator oceniają te wyrażenia na podstawie prawdziwych wyników. Tutaj mamy zapytanie, w którym dostarczyliśmy wyrażenia $ i operator: „$ i: [„ class ”: $ ne:„ trzy ”, „ wiek ”: $ gte: 8, „Procent”: $ lt: 98.96 ”. Wyrażenie „„ klasa ”: $ ne:„ trzy ”” znajduje wartość, która nie jest równa „trzema”, ponieważ używany jest operator „$ ne”. Następnie mamy wyrażenie „wiek”: $ gte: 8, które znajduje dokumenty, których wartość „wiek” jest większa niż „8”. Następnie trzecie wyrażenie „Procent”: $ lt: 98.96 ocenia procent, który jest mniejszy niż „98.96 ”. $ I operator spełniły wszystkie te wyrażenia i zwróciły oczekiwane dokumenty.

db.Podstawowe.Znajdź ("$ i": ["class": $ ne: "trzy", "wiek": $ gte: 8, "procent": $ lt: 98.96])

Dokumenty pokazane poniżej to dokumenty uzyskane po spełnieniu $ i operacji.

Przykład nr 4: MongoDB $ i operator dla wielu warunków.

Tutaj użyliśmy $ lub operatora jako wyrażeń dla $ i operatora. Najpierw otrzymamy wyniki $ lub operatora, który jest oceniany przez $ i operator, aby podać określony dokument. Tutaj wdrożyliśmy $ i operator, który ma pierwsze wyrażenie $ lub: [gender: „Male”, wiek: 9]. $ Lub operator ocenił wyniki dla pola „płeć”, którego wartość to „mężczyzna”, a „wiek” to „9”. Jeśli jeden z warunków jest prawdziwy, to prawda. Następnie mamy drugie wyrażenie „$ lub: [„ procent ”: 95.56, „Admissionyear”: 2019] ”ocenia $ lub operatora dla tych dokumentów, których„ odsetek ”to„ 95.56 ”, a„ Przyjęcie ”to„ 2019 ”. Zarówno wyniki $ lub operatora są wyrażeniami dla $ i operatora, które są następnie oceniane zgodnie z wymaganym warunkiem.

db.Podstawowe.Znajdź ($ i: [$ lub: [gender: „male”, wiek: 9], $ lub: ["procent": 95.56, „admissionyear”: 2019]]).ładny()

Zarówno $ lub wyrażenia mają jeden fałszywy, jak i jeden prawdziwy wynik, który jest uważany za prawdziwy zgodnie z wymogiem $ lub operatora. Kiedy oba wyrażenia stają się prawdziwe, $ i operator zwracają następujący dokument:

Przykład nr 5: MongoDB $ i operator agregacji.

Metoda agregacji wykorzystuje również $ i operator do wykonywania logicznego $ i operatora. Tutaj wdrożyliśmy $ i operator w metodzie agregate () MongoDB. Rozpoczęliśmy zapytanie, stosując metodę agregate (), która jest następnie określona z operatorem projektu $. Operator projektu $ służy do określenia jedynego pola, które chcemy pobrać z dokumentów. Ustawiliśmy pole „StudentName” i „Procent”, aby zostać wyświetlone. Następnie mamy $ i operator, który „[$ gt: [„ $ procent ”, 90.00], $ lt: [„$ procent”, 95.00]] ”Wyrażenia do oceny. $ I operator otrzymują dokumenty, które mają „procent” większy niż „90.00 ”i„ procent ”mniej niż„ 95.00 ”. Dwa różne warunki są stosowane do tego samego „procent” pola.

db.Podstawowe.Agregate ([$ projekt: StudentName: 1, procent: 1, wynik: $ i: [$ gt: [„$ procent”, 90, 90.00], $ lt: [„$ procent”, 95.00]]])

Wyniki $ i agregatów operatora są wymienione w poniższym dokumencie, który spełnia kryteria:

Wniosek

Z tym konkretnym przewodnikiem zbadaliśmy funkcjonalność $ i operatora w MongoDB. Wyjaśniliśmy reprezentację $ i operatora z przykładami zapytania, które można wykonywać w MongoDB. $ I operator są również oceniane pod kątem wielu wyrażeń warunkowych. Należy pamiętać o tym, że podawanie zestawu wyrażeń oddzielonych przecinkami promuje ukryty i operator w MongoDB.