Składnia operatora
Poniższe wyrażenie określa składnię używaną dla $ w operator:
pole: $ in: [,,…]Operator porównuje każdy parametr ze wszystkimi dokumentami w określonym zbiorze. Ważne jest, aby pamiętać o tym, jak stosuje się ten operator, ponieważ może prowadzić do trafień wydajności.
MongoDB zaleca ograniczenie liczby parametrów, które należy zeskanować, aby uniknąć znacznych problemów z wydajnością.
Możesz także skorzystać z innych funkcji, takich jak indeksy, aby pomóc MongoDB przy stosowaniu $ w operatorze w dużej kolekcji.
Praktyczny przykład
Weźmy kolekcję z wartościami w świecie rzeczywistym, aby zilustrować, jak korzystać z tego operatora. Rozważ zbiór próbki pokazany poniżej:
db.CreateCollection („Shop”)Powyższe zapytanie tworzy „zakup” kolekcji i dodaje do niego przykładowe dane. Pozwól nam teraz zbadać, w jaki sposób możemy wykorzystać $ w operatorze w takim dokumencie.
Korzystanie z $ w operatorze do zlokalizowania pasujących dokumentów
Poniższy przykład używa operatora $ w celu znalezienia wszystkich dokumentów, w których kategoria to „Apple” lub „Samsung”.
db.sklep.Znajdź (kategoria: $ in: [„jabłko”, „samsung”]))W takim przypadku zapytanie powinno zwrócić dokumenty tylko z wartościami „Apple” lub „Samsung” w tablicy kategorii.
Przykładem jest to, jak pokazano:
Korzystanie z $ w operatorze do aktualizacji dokumentów pasujących do określonego warunku
Możemy również użyć $ w operatorze do wykonania aktualizacji kolekcji za pomocą metod updateOne () lub UpdateMany ().
Załóżmy, że w sklepie zabrakło urządzeń Apple i chcemy zaktualizować dokumenty w jednym zapytaniu, możemy uruchomić żądanie, jak pokazano:
db.sklep.UpdateMny (kategoria: $ in: [„jabłko”],Powyższe zapytanie aktualizuje dokumenty, w których kategoria jest równa „Apple”, a dostępny status FALSE.
Powstały dokument powinien wyglądać jak pokazano:
Widzimy dowolny wpis Apple zawiera dostępne pole z zestawem wartości na fałsz.
Wniosek
W tym poście zbadaliśmy $ w operator w bazach danych MongoDB. Ten operator pozwala nam wybrać dokumenty, których wartość pola pasuje do danego zestawu wartości w tablicy.
Dziękuje za przeczytanie!!