MONGODB $ GT $ GTE $ LT $ LTE Operatorzy

MONGODB $ GT $ GTE $ LT $ LTE Operatorzy

MongoDB obsługuje różnorodne operatory zapytania do wyszukiwania i filtrowania dokumentów w kolekcji. Operatorzy „GT”, „GTE”, „LT” i „LTE” są używane do przeprowadzania pytań porównawczych na polach. Operator „GT” (większy niż) zwraca dokumenty, w których określone pole jest większe niż określona wartość, podczas gdy operator „GTE” (większy lub równy) zwraca dokumenty, gdy określone pole jest większe lub równe określonej wartości. Z drugiej strony operator „LT” (mniej niż) zwraca dokumenty, w których określone pole jest mniejsze niż określona wartość, a operator „LTE” (mniejszy lub równy) Zwraca dokumenty, w których określone pole jest mniejsze lub równe do określonej wartości. We wszystkich tych operatorach jest niewielka różnica, ale metoda stosowania ich w MongoDB jest dość podobna. Omówmy to w tym przewodniku.

Powiedzmy, że masz wszystkie nowo wstawiane rekordy kolekcji „manekina” w aktualnie używanej bazie danych, która jest w sumie 5 rekordów z unikalnymi pól „_id”, „miasto” i „liczba”.

Test> db.Atrapa.znajdować()
[[[
_id: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, Count: 5,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6C”), City: „Los Angeles”, Count: 2,
_id: ObjectID („63C8A1F94FF07039AA6CDF6D”), City: „Włochy”, Count: Null,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Stambul”, Count: 8,
_id: ObjectId („63C8A1F94FF07039AA6CDF6F”), miasto: „Delhi”, Count: 7
]

Przykład nr 01: $ GT Operator

Operator „GT” zostanie użyty do ustawiania lub aktualizacji wartości określonego pola w kolekcji dla jednego rekordu. W tym celu musisz wykonać funkcję „updateOne” MongoDB z zestawem operatora „GT” dla określonego pola. W naszym przypadku zastosowaliśmy aktualiza. Operator „Set” służy do dodania nowego pola „DESC” o wartości „największego miasta na świecie” dla wszystkich tych zapisów o wartości „liczby” większej niż „3”. Tylko 1 rekord został zaktualizowany, ponieważ wypróbowaliśmy instrukcję „aktualizację”.

Test> db.Atrapa.updateOne ("count": $ gt: 3, $ set: "dec": "największe miasto na świecie"))

Uznany: prawda,
Wstawka: NULL,
MatchedCount: 1,
ModifiedCount: 1,
upsertedCount: 0

Pierwszy zapis kolekcji „manekina” został zaktualizowany tylko zgodnie z wynikiem wykonania funkcji „Znajdź”. Pole „DESC” jest dodawane do rekordu o nazwie miasta „Teksas”.

Test> db.Atrapa.Znajdź (count: $ gt: 3)
[[[
_id: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, Count: 5, DESC: „Największe miasto na świecie”,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Stambul”, Count: 8,
_id: ObjectId („63C8A1F94FF07039AA6CDF6F”), miasto: „Delhi”, Count: 7
]

Użyjmy funkcji UpdateMny () zamiast aktualizacji (), aby zaktualizować wszystkie rekordy kolekcji „manekina” o wartości pola „liczba” większe niż „3”. Poniższe polecenie zostało użyte w tym celu i mamy potwierdzenie.

Test> db.Atrapa.UpdateMny (count: $ gt: 3, $ set: „desc”: „największe miasto na świecie”))

Uznany: prawda,
Wstawka: NULL,
MatchedCount: 3,
ModifiedCount: 2,
upsertedCount: 0

Teraz, po uruchomieniu instrukcji funkcji „Znajdź”, po raz kolejny z operatorem „GT”, ustaw na polu „Count”, w którym wartość jest większa niż „3”, mamy wyjście Pheld-Beelow. Wszystkie 3 rekordy o wartości „liczby” większej niż „3” mają teraz pole „DESC”.

Test> db.Atrapa.Znajdź (count: $ gt: 3)
[[[
_id: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, Count: 5, DESC: „Największe miasto na świecie”,
_id: ObjectId („63C8A1F94FF07039AA6CDF6E”), City: „Stambul”, Count: 8, DESC: „Największe miasto na świecie”,
_id: ObjectId („63C8A1F94FF07039AA6CDF6F”), City: „Delhi”, Count: 7, Desc: „Największe miasto na świecie”,
]

Przykład nr 02: $ GTE Operator

W tym przykładzie omówimy użycie operatora „GTE” MongoDB: większe lub równe. Zostanie użyty do wyszukiwania lub aktualizacji rekordów, które są większe lub równe konkretnej wartości. Funkcja UpdateMany () służy do aktualizacji wielu dokumentów w kolekcji MongoDB o nazwie „Manekin”, gdzie wartość pola „liczba” jest większa lub równa 4. Liczba jest większa niż „4”. Operator „Ustaw” ustawę wartość pola „Count” na 2 dla wszystkich dopasowanych dokumentów. Aktualizacja została wykonana bardzo płynnie.

Test> db.Atrapa.UpdateMny (count: $ gte: 4, $ set: "crowin": 2)

Uznany: prawda,
Wstawka: NULL,
MatchedCount: 3,
ModifiedCount: 3,
upsertedCount: 0

Po wyświetleniu zaktualizowanych rekordów kolekcji „manekina” za pomocą funkcji „Znajdź”, mamy poniższy wynik. Pokazuje, że wszystkie rekordy mają teraz wartość „2” w polu „Count”, z wyjątkiem rekordu „3”, w którym liczba jest już zerowa i nie spełnia stanu operatora „GTE” I.mi. Jak pokazało powyższe zapytanie.

Test> db.Atrapa.znajdować()
[[[
_id: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, Count: 2, DESC: „Największe miasto na świecie”,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6C”), City: „Los Angeles”, Count: 2,
_id: ObjectID („63C8A1F94FF07039AA6CDF6D”), City: „Włochy”, Count: Null,
_id: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Istambul”, Count: 2, desc: „Największe miasto na świecie”,
_id: ObjectId („63C8A1F94FF07039AA6CDF6F”), miasto: „Delhi”, Count: 2, Desc: „Największe miasto na świecie”
]

Przykład nr 03: $ LT Operator

Tym razem wykorzystamy operator „LT” MongoDB do aktualizacji rekordów. Polecenie poniżej aktualizuje wiele dokumentów w MongoDB za pomocą funkcji Updatemany () ponownie, w której wartość pola „Count” jest mniejsza niż 4. Operator „Ustaw” ustawia wartość pola „Count” na 3 i wartość pola „DESC” na „miasto średniej wielkości” dla wszystkich dopasowanych dokumentów. Potwierdzenie pokazuje, że w sumie 4 rekordów jest aktualizowane, a 1, który pozostaje niezmieniony, musi mieć wartość „zerową” w polu „liczba”.

Test> db.Atrapa.UpdateMny (count: $ lt: 4, $ set: "crowy": 3, "dec": "miasto średniej wielkości")

Uznany: prawda,
Wstawka: NULL,
MatchedCount: 4,
ModifiedCount: 4,
upsertedCount: 0

Po przeszukaniu zapisów kolekcji „manekina”, w której pole liczby ma wszystkie wartości mniejsze niż „4” za pośrednictwem operatora „LT”, zwraca 4 rekordy wszystkie pola „Count” ustawione na „3” i pola „DESC „Ustawiony na„ średniej wielkości miasto ”w następujący sposób:

Test> db.Atrapa.Znajdź (count: $ lt: 4)
[_ID: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, Count: 3, DESC: „MITY MILDIZE”,
_id: ObjectId („63C8A1F94FF07039AA6CDF6C”), City: „Los Angeles”, Count: 3, DESC: „MITY MILDISED”,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Istanbul”, Count: 3, desc: „miasto średniej wielkości”, _id: obiektyd („63c8a1f94ff07039aa6cdf6f”), miasto: „Delhi”, hrabia: 3, 3, DESC: „miasto średniej wielkości”]

Przykład nr 04: $ LTE Operator

Począwszy od zapytania dołączonego poniżej, wypróbowaliśmy funkcję „UpdateMany” z jej filtrem Count: $ lte: null. Dopasowuje wszystkie dokumenty, w których wartość pola „liczba” jest mniejsza lub równa NULL. W naszym przypadku istnieje tylko jeden rekord o wartości „zerowej” w polu „Licz”.W drugim argumencie operator „Set” ustawia wartość pola „Count” na 10 i wartość pola „DESC” na „najpiękniejsze i zatłoczone” dla wszystkich dopasowanych dokumentów. Poniższe polecenie aktualizuje pojedynczy rekord w kolekcji „manekina”, w którym wartość pola „Count” jest mniejsza lub równa NULL.

Test> db.Atrapa.UpdateMny (crowiz: $ lte: null, $ set: „crowiz”: 10, „dec”: „Najpiękniejszy i zatłoczony”)

Uznany: prawda,
Wstawka: NULL,
MatchedCount: 1,
ModifiedCount: 1,
upsertedCount: 0

Kiedy szukasz rekordu z wartością pola „Count” większą niż „8”, zwraca on jeden rekord, który wcześniej ma wartość „null”.

Test> db.Atrapa.Znajdź (count: $ gt: 8)
[_id: ObjectId („63C8A1F94FF07039AA6CDF6D”), City: „Włochy”, Count: 10, desc: „Najpiękniejszy i zatłoczony”]

Wniosek

W tym artykule obejmuje szczegóły celu wykorzystania operatorów GT, GTE, LT i LTE w MongoDB. Pierwszy przykład obejmuje operatora „GT”, a drugi obejmuje operatora „GTE” za pomocą instrukcji MongoDB. Podczas gdy dwie ostatnie ilustracje obejmują szczegółowo użycie operatorów „LT” i „LTE” za pomocą funkcji Updatemania () i operatora „Ustaw”.