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ąsMamy 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.