MongoDB UpdateOne

MongoDB UpdateOne
Baza danych MongoDB zawiera kilka funkcji przechowywanych danych. Jednym z podstawowych wymagań zapisanych danych jest umożliwienie jakiejkolwiek modyfikacji. Aktualizacja i updateMany to dwie podstawowe funkcje, które są stosowane w MongoDB. W tym artykule aktualizacja jest tematem do omówienia. Ta funkcja aktualizuje element, który jest dopasowany najpierw w kolekcji zgodnie z używanym zapytaniem, nawet jeśli jest dopasowane wiele wierszy. W czasie aktualizowanym jest tylko jeden element.

Składnia

>> db.collection_name.Aktualizacja (filtr, dokument/ atrybut, opcje)

Teraz opracujmy argumenty updateOne ():

  • Filtr: Działa jak metoda Find (). W tej części wykorzystujemy kryteria wyboru.
  • Dokument: zawiera część aktualizacji. Innymi słowy, dokument, który chcesz zastąpić, jest napisany tutaj, a także nowy atrybut, który chcesz dodać.
  • Opcja: Jest to opcjonalna część, która może zawierać funkcję UPSert.

Po zainstalowaniu MongoDB w swoim systemie możesz uzyskać do niego dostęp za pośrednictwem terminala, po prostu używając „Mongo”. Warunkowymi krokami używanymi do wdrożenia aktualizacji MongoDB jest połączenie się z DB i utworzenie kolekcji. Niektóre powiązane informacje są zdefiniowane poniżej.

Nazwa bazy danych: demo
Kolekcja: praca

Kolekcja, która służy do przechowywania danych w MongoDB, jest tworzona za pośrednictwem prostego polecenia, stworzyliśmy kolekcję z nazwą „zadanie”. W tym celu używane jest polecenie Utwórz.

>> db.CreateCollection („Job”)

Po utworzeniu kolekcji możemy wprowadzić do niej dane. Zamiast korzystać z podejścia InserTone, użyliśmy InsertMany, ponieważ może on dodawać dane za pośrednictwem jednego polecenia, nie musisz dodawać każdego wiersza za każdym razem.

>> db.stanowisko.INSERTMANY ([FirstName: „John”, LastName: „Dew”, e -mail: „[email protected] ", pensja: 5000,

Podobnie dodaliśmy 6 wierszy w kolekcji, z których każde oddzielono przecinkiem. Używane są 4 dokumenty dla każdego wiersza zadań. Przypisaliśmy wartość do każdego atrybutu.

Widać, że po wspólnie wprowadziliśmy wszystkie rzędy, potwierdzenie jest prawdziwe. I dla każdego wiersza i podobnie identyfikatory są przydzielane na końcu.

Możesz zobaczyć wszystkie wprowadzone dane za pośrednictwem Find ().Pretty () Funkcja za pośrednictwem nazwy kolekcji.

>> db.stanowisko.znajdować().ładny()

Wzięliśmy fragment pierwszych 4 rzędów.

Aktualizacja ()

Teraz użyjemy funkcji updateOne () w poleceń, aby zademonstrować działanie tej funkcji.

Przykład 1: Zaktualizuj pojedynczy istniejący atrybut

Chcemy zmodyfikować pole, które jest już obecne w rzędach kolekcji. Istnieje kilka opcji aktualizacji. Wśród nich używamy opcji „$ set”, która służy do przypisania wartości do nowego atrybutu lub zastąpienia poprzedniej wartości nową.

Do pobierania zainteresowanych danych wykorzystaliśmy atrybut wynagrodzenia w części Fetch. Według zapytania musimy uzyskać wynik z pensją 5000. Po odzyskaniu tego wiersza zastosowaliśmy warunek zastąpienia nazwy rekordu nową nazwą, jaką jest „Morgan”.

>> db.stanowisko.updateOne (pensja: 5000, $ set: FirstName: 'morgan')

To polecenie przyniesie pierwszy rekord w zbiorze bazy danych zgodnie z określoną pensją. Starsze imię to John. Po użyciu polecenia John zostanie zastąpiony „Morgan”. Po wykonaniu polecenia ponownie otrzymasz potwierdzenie. Oznacza to, że zapytanie uruchomiło się z powodzeniem, pokazując, że numer dopasowywania to 1. Stąd to samo zostanie zmodyfikowane. Sprawdzimy wynikową wartość za pomocą Find ().Pretty () polecenie.

Możesz zaobserwować zmianę w imieniu.

Przykład 2: Kolekcja aktualizacji, dodając pojedynczy atrybut

Niezależnie od zastąpienia istniejących danych, może być również konieczne dodanie nowych informacji do istniejącego rekordu. Odbywa się to również za pośrednictwem polecenia aktualizacji. Podobnie jak poprzedni przykład, opcja $ set zostanie ponownie użyta do dodania nowego dokumentu do kolekcji. Filtracja zostanie wykonana według imienia. Jeśli ta określona nazwa wymieniona w zapytaniu jest dopasowana, dodamy nowy dokument lokalizacji do tego określonego wiersza. Chcemy dodać pole lokalizacji do wiersza o imieniu „Toshay”.

>> db.stanowisko.updateOne (FirstName: „toshay”, $ set: location: „USA”)

Terminal MongoDB zareaguje. Ten jeden dopasowany wiersz jest następnie modyfikowany. Zobaczymy modyfikację za pośrednictwem funkcji Find ().

To drugi rekord. Dodano nowe pole lokalizacji wraz z przypisaną wartością.

Przykład 3: Zaktualizuj dokument, zwiększając wartość

Nie jest konieczne zastępowanie lub dodawanie nowego dokumentu za każdym razem. Możliwe jest również, że możemy zwiększyć wartość, która jest już obecna z wartością, wspominając o tym w zapytaniu. Kwota ta jest dodawana do poprzedniej, w wyniku czego generowana jest nowa wartość. W tym celu używamy operatora aktualizacji „$ inc”, który odnosi się do przyrostu. Ten operator jest używany w miejscu „$ set”, ponieważ nie chcemy ustawić wartości, ale aby ją zwiększyć.

Wynik zostanie przefiltrowany według imienia, a następnie pensja tej osoby zostanie zwiększona o 500. Nazywa się „James”, a jego pierwotna pensja to 7500.

>> db.stanowisko.updateOne (FirstName: „James”, $ inc: pensja: 500)

Podczas egzekucji zauważysz, że pensja Jamesa staje się 8000 z 7500 za pośrednictwem operatora $ inc.

Wniosek

MongoDB UpdateOne to funkcja używana do aktualizacji pojedynczego dokumentu, który występuje najpierw w kolekcji, jeśli znaleziono kilka dopasowań. Próbowaliśmy wyjaśnić funkcje i funkcje tej funkcji MongoDB. Na początku opisaliśmy składnię, a następnie wyjaśniono niektóre podstawowe przykłady, aby uniknąć żadnej dwuznaczności dotyczącej funkcji tej funkcji. UpdateOne oferuje niektórych operatorów stosowanych w zapytaniu. Na przykład $ set i $ inc są używane w tym artykule do ustawienia nowej wartości do dokumentu i do podwyższenia poprzedniego.