MongoDB in Operator

MongoDB in Operator
W tym poście omówimy, jak korzystać z $ w operatorze w bazach danych MongoDB. $ W operator pozwala nam wybrać dokumenty, w których wartość danego pola jest równa dowolnej wartości w dostarczonej tablicy.

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”)
db.sklep.wstrząs
_id: 0, „Product_name”: „Apple MacBook Air”, „Ilości”: 100, „Cena”: 1199, „kategoria”: [„Tech”, „Apple”],
_id: 1, „Product_name”: „Google Pixel 6A”, „Ilości”: 1000, „Cena”: 449, „kategoria”: [„Tech”, „Google”],
_id: 2, „Product_name”: „Apple iPad Air”, „Ilości”: 550, „Cena”: 599, „Kategoria”: [„Tech”, „Apple”],
_id: 3, „Product_name”: „Samsung Z Fold 4”, „Ilości”: 400, „Cena”: 1799, „Kategoria”: [„Tech”, „Samsung”],
_id: 4, „Product_name”: „Sony WH-100xm5”, „Ilości”: 800, „Cena”: 400, „Kategoria”: [„Tech”, „Sony”],
])

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:


„_id”: 0.0,
„Product_name”: „Apple MacBook Air”,
„Ilość”: 100.0,
„Cena”: 1199.0,
"Kategoria" : [
„Tech”,
"jabłko"
]


„_id”: 2.0,
„Product_name”: „Apple iPad Air”,
„Ilość”: 550.0,
„Cena”: 599.0,
"Kategoria" : [
„Tech”,
"jabłko"
]


„_id”: 3.0,
„Product_name”: „Samsung Z Fold 4”,
„Ilość”: 400.0,
„Cena”: 1799.0,
"Kategoria" : [
„Tech”,
"SAMSUNG"
]

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”],
$ set: dostępny: false
)

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:


„_id”: 0.0,
„Product_name”: „Apple MacBook Air”,
„Ilość”: 100.0,
„Cena”: 1199.0,
"Kategoria" : [
„Tech”,
"jabłko"
],
„Dostępne”: Fałsz


„_id”: 1.0,
„Product_name”: „Google Pixel 6A”,
„Ilość”: 1000.0,
„Cena”: 449.0,
"Kategoria" : [
„Tech”,
"Google"
]


„_id”: 2.0,
„Product_name”: „Apple iPad Air”,
„Ilość”: 550.0,
„Cena”: 599.0,
"Kategoria" : [
„Tech”,
"jabłko"
],
„Dostępne”: Fałsz


„_id”: 3.0,
„Product_name”: „Samsung Z Fold 4”,
„Ilość”: 400.0,
„Cena”: 1799.0,
"Kategoria" : [
„Tech”,
"SAMSUNG"
]


„_id”: 4.0,
„Product_name”: „Sony WH-100xm5”,
„Ilość”: 800.0,
„Cena”: 400.0,
"Kategoria" : [
„Tech”,
„Sony”
]

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!!