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.