Jak korzystać z operatora w MongoDB

Jak korzystać z operatora w MongoDB
MongoDB zapewnia silny system zapytania obsługiwany przez kilka poleceń i operatorów. Istnieje długa lista operatorów (takich jak $ rozmiar, $, gdzie $ gt, $ Regex i wiele innych), które rozszerzyły użycie MongoDB, aby spełnić podstawową funkcjonalność każdej bazy danych. $, W którym operator należy do klasy operatorów zapytań ewaluacyjnych i może być wykonywany w celu przekazania funkcji opartej na JavaScript lub funkcji JavaScript. $, W którym operator jest używany w MongoDB, aby uzyskać tylko te dokumenty pasujące do wyrażeń JavaScript.

W tym opisowym poście zapewniliśmy wgląd w wykorzystanie $, w którym operator w kontekście MongoDB.

Jak $ pracuje w MongoDB

Zauważa się, że $, w którym operator jest używany rzadko w porównaniu z innymi standardowymi operatorami MongoDB, takich jak $ GT, $ LT, $ in i $ nin.

Jak wspomniano wcześniej, $, w którym operator pracuje tylko dla ciągów opartych na JS lub jego funkcji, a składnia do użycia $, gdzie operator jest wspomniany poniżej:

$ gdzie:

Zauważono, że $, gdzie operatora nie można wykonać z kilkoma standardowymi funkcjami MongoDB db. $, W którym operator, wraz z operacją MAP-Reduce w MongoDB, obsługuje kilka funkcji JavaScript, a zatem nie można ich używać na całym świecie

Jak używać $ gdzie w MongoDB

W tym przewodniku używane są następujące przypadki MongoDB:

Baza danych: Używana tutaj baza danych nosi nazwę „Linuxhint".

Nazwa kolekcji: Kolekcja, która jest wykonywana w tym artykule, nosi nazwę „klas".

Oraz dokumenty zawarte przez „klas”Kolekcja pokazano poniżej:

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

Notatka: C1, C2, C3, C4 są przyjmowane jako identyfikatory kursów na powyższym wyjściu.

Przykład 1: Podstawowe użycie $ gdzie operator

Przed wejściem w szczegóły musisz pamiętać, że dwa słowa kluczowe, albo „Ten" Lub "obj”Są używane w odniesieniu do dokumentów w funkcji JS lub wyrażeniu JS.

Odnosząc się do dokumentów w „klas" kolekcja:

Polecenie 1: Polecenie napisane poniżej będzie wyszukiwać dokumenty i wyświetli tylko te, które mają te same wartości w różnych polach:

Jak możesz sprawdzić, czy wyjście zawiera tylko „jeden”Dokumentuj, gdzie wartości„C1" I "C2" mecz.

> db.klas.znajdź ($ gdzie: „to.C1 == to.C2 ").ładny()

Polecenie 2: To samo wyjście (jak w Polecenie 1) Można osiągnąć, wydając poniższe polecenie w Mongo Shell. Tutaj "obj„Słowo kluczowe jest używane zamiast”Ten".

> db.klas.Znajdź ($ gdzie: "obj.C1 "==" obj.C2 ").ładny()

Polecenie 3: Możesz także użyć $, gdzie operator, tak jak wykonaliśmy w poniższym poleceniu. W poniższym poleceniu funkcja () zwróci dokumenty uzyskane przez zastosowanie „obj" I "Ten„Słowo kluczowe, wartość„C1" I "C3" mecze.

> db.klas.znajdź ($ gdzie: function () return (to.C1 == to.C3)).ładny()

Polecenie 4: Zastosowanie funkcji JS () z $, gdzie operator można również osiągnąć za pomocą „obj”Słowo kluczowe zamiast„Ten". W tym celu możesz wykonać następujące polecenie:

> db.klas.Znajdź ($ gdzie: function () return obj.C1 == OBJ.C3).ładny()

Przykład 2: $ gdzie działa bez użycia go w poleceniu

Jeśli twoje polecenie wykonuje tylko zastosowanie operatora $, możesz użyć polecenia bez określenia słowa kluczowego w poleceniu. Przykładowe polecenie w takiej sytuacji podano poniżej:

> db.klas.Znajdź to.C1 == to.C2 ”).ładny()

Albo "obj„Słowo kluczowe można również użyć zamiast„Ten„W powyższym poleceniu.

> db.klas.Znajdź („OBJ.C1 == OBJ.C2 ”).ładny()

Przykład 3: Korzystanie z $ ze standardowymi operatorami MongoDB

$, W którym operator może być używany z kilkoma innymi operatorami MongoDB. Na przykład w poniższym poleceniu użyliśmy mniej niż (<) operator with $ gdzie operator. Polecenie napisane poniżej będzie szukało warunków obu operatorów, a następnie dowolnego dokumentu satysfakcjonującego „==” lub „||”Warunek zostanie wyświetlony na wyjściu.

> db.klas.Znajdź to.POS1 == to.POS2 || to.POS1 < this.pos2").pretty()

Obserwuje się to z pracy z $, w którym operator, który wyszukuje w większości dokumentów, może stać się czasochłonny $ gdzie operator, ponieważ MongoDB wykonuje $ gdzie operator po dowolnym innym standardowym operatorowi używanym w zapytaniu.

Wniosek

MongoDB często aktualizował swoje wersje w przeszłości, a powodem było poprawy wydajności i skuteczności dowolnego polecenia lub metody MongoDB lub operatora. W MongoDB $, w którym operator można użyć do dopasowania pól za pomocą wyrażenia JS lub funkcji JS. W tym szczegółowym przewodniku zapewniliśmy wykorzystanie $, w którym operator w MongoDB. Po szczegółowych badaniach i gromadzeniu danych doszliśmy do punktu, aby preferować alternatywy $, w których operator powinien być preferowany, ponieważ $, w którym operator szuka całego kolekcji, zanim podał wyjście.