Utwórz kolekcję
Począwszy od skorupy MongoDB, tworzymy nową kolekcję „manekin” w naszym MongoDB z pomocą poniższego polecenia: metoda CreateCollection ().
Test> db.CreateCollection („Manekin”)Wstaw dokumenty
Czas dodać dokumenty do kolekcji MongoDB. W tym celu wykonano poniższe polecenie MongoDB, które wkłada wiele dokumentów do funkcji „manekina”: insertMany (). Dokumenty zawierają informacje o miastach, krajach i polu zliczania (z wartościami niektórych dokumentów). Każdy dokument w tablicy ma zestaw par kluczowych. Polecenie zwraca odpowiedź, że wstawienie jest potwierdzone.
Test> db.Atrapa.INSERTMANY ([City: „Texas”, kraj: „Anglia”, liczba: 5,Wyświetl dokumenty
Teraz, aby odzyskać i wyświetlić wszystkie dokumenty z kolekcji „manekina”, będziemy odrzucić metodę Find () w instrukcji pokazanej poniżej. Zwracane dokumenty są reprezentowane w formacie tablicy, z każdym rekordem w tablicy jako obiekt. Pola w każdym dokumencie obejmują „_id”, „miasto”, „kraj” i „liczba” i.mi. Pole „_id” to unikalny identyfikator przypisany przez MongoDB.
Test> db.Atrapa.znajdować()Przykład 01: Metoda zastąpiona
Metoda zastępcza służy do wymiany pojedynczego dokumentu, który pasuje do określonego filtra w MongoDB. Dlatego będziemy go używać w poniższej instrukcji, aby zastąpić dokument w kolekcji „manekina”. Pierwszym argumentem przekazanym do metody zastępczej jest filtr. W takim przypadku filtr jest „miasto”: „Delhi”, co oznacza, że dokument z polem „City” na „Delhi” zostanie wymieniony. Drugim argumentem przekazanym do metody zastępczej jest dokument zastępczy, który jest nowym dokumentem, który zastąpi stary: „kraj”: „India-Pacific”. Zatem dokument z dziedziną „City” na „Delhi” będzie teraz miał pole „krajowe” na „Indie-Pacific” zamiast jego poprzedniej wartości.
Kod jest owinięty w blok próbny, który służy do obsługi wszelkich błędów, które mogą wystąpić podczas wykonywania metody zastępczej. Jeśli wystąpi błąd, zostanie złapany przez blok połowowy i wydrukowany do konsoli za pomocą funkcji print (). Dane wyjściowe pokazuje, że jeden dokument został dopasowany, zmodyfikowany, a zwiększona liczba wynosi zero.
test> spróbujPo wyświetleniu wszystkich dokumentów z kolekcji „manekina” na powładzie za pomocą funkcji „Znajdź”, musimy wiedzieć, że 5th Record został zaktualizowany o „kraj:„ Indie-Pacific ””.
Test> db.Atrapa.znajdować()Przykład nr 02: Zastąp metodę opcją Upsert
W tym przykładzie kodu będziemy korzystać z opcji upsert w metodzie zastępczej (), która dodaje nowy rekord, jeśli określony nie zostanie znaleziony. Dlatego kod, którego używamy poniżej. Pierwszym argumentem przekazanym metodowi zastępczej jest filtr „City”: „Mali”: dokument z polem „City” na „Mali” zostanie wymieniony. Drugim argumentem jest dokument zastępczy City: „Mali”, kraj: „Malediwy”, hrabia: 5. Pole „City” ustawione na „Mali” będzie miało teraz pola „Country” na „Malediwy” i „Count” na 5.
Trzecim argumentem przekazanym do metody zastępczej jest opcja upsert: true: wstawienie zupełnie nowego dokumentu, jeśli nie znaleziono. Kod jest ponownie zapakowany w blok próbny, aby wydrukować () błąd złapany w poleceniu. Wynik odpowiedzi pokazuje, że żadne dokumenty nie zostały dopasowane i zmodyfikowane, ale jeden dokument został podwyższony: Nowy dokument jest wstawiany, ponieważ dokument określony w filtrze nie istniał.
Test> Spróbuj db.Atrapa.zamiennik („City”: „Mali”,Aby potwierdzić wprowadzenie jednego dodatkowego rekordu, wyświetliśmy całą kolekcję „manekina” i mamy wyniki pokazane poniżej. Opcja upsert na końcu włożyła nowy dokument.
Test> db.Atrapa.znajdować()Przykład nr 03: Metoda zastępczaLL
Oto ilustracja o tym, jak pracuje operator zastępcy () w MongoDB. Wejście dla $ zastępcy operatora jest pole „krajowe” z dokumentów w kolekcji. Wartość „Znajdź” to „i”, a wartość wymiany to „E”. Oznacza to, że wszystkie wystąpienia litery „I” w polu „Country” zostaną zastąpione literą „E”. Rezultatem jest nowe pole „kraju” ze zmodyfikowanym ciągiem. Na przykład oryginalna wartość „India-Pacific” zostanie zastąpiona „Indea-PaceFec”, wartością „Ameryka” jest teraz „Amereca”, a „Malediwy” jest teraz „Maldeves”, jak pokazano również na wyjściu.
Test> db.Atrapa.agregate ([$ projekt: country: $ zamiennik: input: „$ country”, znajdź: „i”, zamiennik: „e”])))Ponownie zaktualizujmy powyższą ilustrację. Argument „Znajdź” został przekazany o wartości „A”, a wartość wymiany to „*****”. Oznacza to, że wszystkie wystąpienia litery „A” w polu „City” zostaną zastąpione ciągiem „******”. Rezultatem jest nowe pole „miasta” ze zmodyfikowanym sznurkiem. Na przykład oryginalny „Teksas” zostałby zastąpiony „Tex ***** S”, a oryginalne „Włochy” zostaną zastąpione „it ***** ly” i tak dalej.
Test> db.Atrapa.agregate ([$ projekt: City: $ zamiennik: input: „$ mity”, znajdź: „a”, zamiennik: „******”]))Wniosek
Zdefiniowaliśmy funkcje zastępcze () i zamiennika () wraz z różnicą między nimi. Wyjaśniliśmy 3 z różnych przykładów w artykule I.mi. Metoda zamiennika () w celu aktualizacji pojedynczego pola, opcja upsert, którą należy zastosować w metodzie zastępczej, aby dodać nowy rekord, jeśli nie znaleziono pola pasującego i metody zastępczej () do zastąpienia ciągu we wszystkich dokumentach. Metoda zastępcza () bardzo różni się od metody zastępczej, jeśli chodzi o efekt, który dodaje do kolekcji bazy danych.