Możemy zaktualizować dokument kolekcji MongoDB za pomocą metody aktualizacji (). Metoda aktualizacji () wymaga warunku instrukcji aktualizacji, aby upewnić się, że tylko odpowiednie dokumenty są aktualizowane. Zapytanie o aktualizację bierze dwa parametry do aktualizacji pola dokumentów. Pierwszy parametr to istniejąca wartość określonego pola, które chcemy zaktualizować. Drugi parametr jest określony za pomocą słowa kluczowego $ set, które jest wymagane do aktualizacji wartości następnego określonego dokumentu.
Jak zaktualizować dokument w MongoDB
Przed użyciem zapytania aktualizacji potrzebujemy kolekcji MongoDB. Tworzymy kolekcję „produktów”, która zawiera dokumenty. Dokumenty w „Produktach” są wstawiane za pomocą następującego zapytania:
db.Produkty.wstrząs
_id: 1,
Produkt: „Czarne dżinsy”,
Ilość: 15,
średni rozmiar",
Status: „Dostępny”,
Cena: 400
,
_id: 2,
Produkt: „Biała koszulka”,
Ilość: 10,
rozmiar mały",
Status: „Niedostępne”,
Cena: 550
,
_id: 3,
Produkt: „neonowe buty”,
Ilość: 5,
rozmiar mały",
Status: „Dostępny”,
Cena: 750
,
_id: 4,
Produkt: „Ties”,
Ilość: 20,
rozmiar L",
Status: „Niedostępne”,
Cena: 350
,
_id: 5,
Produkt: „Formalne koszule”,
Ilość: 17,
rozmiar L",
Status: „Dostępny”,
Cena: 400
])
Kolekcja „Produkty” MongoDB jest z powodzeniem wstawiana do wcześniej zdefiniowanych dokumentów. Komunikat dokumentu wstawiania jest pokazany następująco. Teraz możemy zastosować zapytanie aktualizacji tych dokumentów.
Przykład 1: MongoDB aktualizuje dokument dla tego samego pola
Rozważ przykład, w którym stosuje się zapytanie do aktualizacji bieżącej wartości za pomocą nowej. Metoda aktualizacji () jest stosowana do kolekcji MongoDB „Products”. Metoda aktualizacji () jest przekazywana z kluczem „produktu”, którego wartość jest ustawiana jako „koszule formalne” w dokumencie. Chcemy zaktualizować wartość tego pola „produktu”, dla którego podajemy drugi parametr w metodzie aktualizacji ().
Wyrażenie „$ set: produkt:„ kurtka ”” to drugi parametr, który ustawia nową wartość dla bieżącej wartości. Słowo kluczowe $ set jest używane, które przyjmuje nazwę pola „produkt” i ustawia na nim zaktualizowaną wartość „kurtek”. Pamiętaj o tym, że dane danych o wartości określonego pola powinny być takie same w kolekcji.
db.Produkty.aktualizacja (produkt: „Formalne koszule”, $ set: produkt: „kurtki”)
W wyjściu MatchEdCount wskazuje dokumenty pasujące do kryteriów, a ModifiedCount pokazuje liczbę zaktualizowanych dokumentów.
Sprawdzamy, czy wartość jest aktualizowana w kolekcji. W tym celu nazywamy metodę Find () i wstawiamy wartość „_id” „5” zaktualizowanego dokumentu.
db.Produkty.Znajdź (_ id: 5)
Wartość „kurtek” jest aktualizowana w dokumentach, jak pokazano następująco:
Przykład 2: MongoDB aktualizuje dokument dla różnych pól
Następnie aktualizujemy dokument o różnych polach. Zastanów się nad następującym zapytaniem, w którym używamy metody aktualizacji () i podajemy warunek w niej, aby zaktualizować dokument. Tutaj aktualizujemy dokument, który ma „_id” jako „1”. Tak więc pole _id o wartości jest ustawione jako pierwszy parametr. Następnie mamy słowo kluczowe $ set, które przyjmuje pole „produktu”, które ma nową wartość jako „niebieskie dżinsy”.
db.Produkty.aktualizacja(
„_id”: 1,
$ set: "produkt": "blue dżinsy");
Prawdziwe wyniki są generowane w szczegółach, że wartość jest aktualizowana do określonego klucza. Metoda aktualizacji () najpierw ocenia warunek i ustawia zmodyfikowaną wartość za pomocą słowa kluczowego $ set.
Zaktualizowana wartość „_id: 1” jest sprawdzana z kolekcji „produktu”, stosując następujące zapytanie:
Wyjście potwierdza, że wartość „Blue Jean” jest aktualizowana o „czarne dżinsy” w dokumencie.
Przykład 3: MongoDB aktualizuje dokument dla wielu pól
Aby zmodyfikować wiele dokumentów na raz, zapytanie o aktualizację () musi być określone z wieloma opcjami. W poniższym zapytaniu używamy metody aktualizacji (), która wprowadza pole „_id”, którego wartość to „2”. Chcemy, aby ten dokument został zmodyfikowany za pomocą nowych wartości. Następnie mamy modyfikator $ set, który aktualizuje wartości dwóch pól, „rozmiar” i „cena”, z nowo przypisanymi wartościami.
db.Produkty.aktualizacja (_id: 2, $ set: „size”: „duży”, „cena”: 450)
Wartości dla pól wielkości i cen są modyfikowane w dokumencie, który wyświetlamy, uruchamiając zapytanie Find na powładzie.
Przykład 4: MongoDB aktualizuje dokument za pomocą metody updateOne ()
Metoda updateOne () to kolejny sposób aktualizacji dokumentu w kolekcji. Możemy zaktualizować tylko jeden dokument w kolekcji, który spełnia dane kryteria wyszukiwania. Nawet jeśli niezliczone dokumenty spełniają kryteria, po prostu aktualizuje pierwszy. Poniższe zapytanie wykorzystuje metodę aktualizacji () do aktualizacji dokumentu. Podajemy kryteria „Ilty: 17”. Metoda updateOne () znajduje dokument, którego „Qty” to „17”. Następnie następny parametr ustawia pole „Status” z wartością „Niedostępną” za pomocą operatora $ set do aktualizacji dopasowanego dokumentu.
db.Produkty.updateOne (Qty: 17, $ set: status: „Niedostępne”)
Wykonanie tego zapytania aktualizacji potwierdza, że wartość jest aktualizowana w dopasowanym dokumencie.
Wyświetlamy również zaktualizowany dokument, wykonując zapytanie Find.
Przykład 5: MongoDB aktualizuje dokument z operatorem $ Inc
Wszystkie poprzednie zapytania aktualizacji używają operatora $ set, aby ustawić zaktualizowane wartości w dokumencie. Ale metoda aktualizacji () ma różne operatory podczas aktualizacji dokumentu. Tutaj używamy operatora $ Inc do aktualizacji dokumentu. Operator $ Inc wykorzystuje podwyższoną wartość w stosunku do określonego klucza. Podajemy zapytanie do aktualizacji dokumentu z operatorem $ Inc. Metoda aktualizacji () pasuje do dokumentu, którego pole „produktu” ma wartość „więzi”, a następnie zwiększyła wartość pola „Ilty” do „50” z operatorem „$ Inc”.
db.Produkty.updateOne (Product: „Ties”, $ Inc: Qty: 50)
Dokument jest dopasowany, a wartość jest pomyślnie modyfikowana, jak pokazano na poniższym obrazku:
Dopasowany dokument jest następnie wyszukiwany specjalnie, aby zobaczyć nową wartość przyrostową, która jest aktualizowana, jak pokazano na poniższym obrazie wyjściowym:
Przykład 6: MongoDB aktualizuje dokument z operatorem $ Zmień nazwę
Teraz używamy operatora $ Zmień nazwę metody aktualizacji (). Ten operator aktualizuje tytuł pola od bieżącej nazwy określonego pola. Miejmy następujące zapytanie metody aktualizacji (). Metoda aktualizacji () przyjmuje warunek znalezienia dokumentu pola „produktu”, którego wartością to „powiązania”. Po znalezieniu dokumentu metoda aktualizacji () wykorzystuje operator $ Zmień nazwę. $ REMAMAME Operator przyjmuje nazwę pola „Status”, które należy przemianować wraz ze zmodyfikowaną nazwą pola „Stock”.
db.Pracownik.Aktualizacja („produkt”: „Ties”,
$ Zmień nazwę: „Status”: „Stock”)
Zmodyfikowane pole „Stock” jest aktualizowane w określonym dokumencie w wyniku poprzedniego zapytania.
Dopasowany dokument jest następnie wyszukiwany przez określenie zapytania, które wyświetla zaktualizowaną nazwę pola.
Przykład 7: MongoDB aktualizuje dokument z operatorem $ UNSET
Następnie bierzemy przykład operatora $ UNSET, który służy do wyeliminowania określonych pól z dokumentu. Na poniższej ilustracji używamy operatora $ UNSET w metodzie aktualizacji (), która usuwa pola „rozmiar” i „qty” z dokumentu, którego „_id” to „4”.
db.produkty.aktualizacja(
_id: 4,
$ unset: size: "", Qty: ""
Dopasowany dokument jest aktualizowany po wykonaniu poprzedniego zapytania UNSET.
W powłoce można zobaczyć, że dopasowany dokument został usunięty z pola „rozmiar” i „Qty”.
Wniosek
Ten przewodnik MongoDB bada metodę aktualizacji (), która służy do aktualizacji dokumentu. Możemy zaktualizować różne pola, wywołując metodę aktualizacji () w zapytaniu. Wprowadziliśmy również metodę updateOne (), która aktualizuje tylko poszczególny dokument. Możemy użyć metody UpdateMny (), jeśli jesteśmy zobowiązani do aktualizacji wielu dokumentów na raz. Ponadto użyliśmy różnych operatorów metody aktualizacji () do odpowiednio aktualizacji dokumentu.