Co to jest db.collection.updateOne() w MongoDB?

Co To Jest Db Collection Updateone W Mongodb



MongoDB to potężna nierelacyjna baza danych, która może przechowywać wiele dokumentów. Czasami użytkownik może potrzebować zaktualizować pojedynczy dokument, który spełnia określone kryteria. W tej sytuacji mogą skorzystać z „ db.collection.updateOne() ”, która aktualizuje i modyfikuje pierwszy dokument spełniający kryteria wyboru i modyfikuje go.

Czym jest metoda „db.collection.updateOne()” w MongoDB?

db.collection.updateOne() ” aktualizuje pojedynczy dokument spełniający zdefiniowane kryteria. Jeśli więcej niż jeden dokument spełnia kryteria, zmodyfikowany zostanie tylko pierwszy dokument. Może być używany z operatorami aktualizacji, takimi jak „ $ustaw ”, „ $inc ' I wiele więcej .

Jak korzystać z metody „db.collection.updateOne()” w MongoDB?

db.collection.updateOne() ” można wykorzystać do aktualizacji pojedynczego pola, jak również wielu pól jednego dokumentu spełniających kryteria wyboru. Co więcej, ta metoda może również dodać pole do dokumentu i może być używana z operatorami aktualizacji. Składnia „ db.collection.updateOne() ” przedstawiono poniżej:







Podstawowa składnia



db.collection.updateOne ( { kryteria_filtra } , { aktualizacja } , { opcje } )

Tutaj w powyższej składni:



  • Ta metoda zaktualizuje pierwszy dokument spełniający kryteria wyboru
  • kryteria_filtra ” określa kryteria aktualizacji
  • aktualizacja ” zawiera pola, które zostaną zmodyfikowane w dokumencie
  • opcje ” argument jest opcjonalnym argumentem, który modyfikuje działanie tej metody, na przykład „ wstawić ' I ' wskazówka

W tym poście użyjemy „ Linuxhint_Col2 „dokumenty kolekcji w celu wykazania działania” db.collection.updateOne() ' metoda. Aby wyświetlić dokumenty przechowywane w tej kolekcji, wykonaj podane polecenie:





db.Linuxhint_Col2.find ( )

Wyjście

Dane wyjściowe pobrały wszystkie dokumenty przechowywane w „ Linuxhint_Col2 ' kolekcja.



Przykład 1: Zaktualizuj pojedyncze pole
Aby zaktualizować pojedyncze pole w dokumencie, zdefiniuj kryteria wyboru i zaktualizuj kryteria. Kryteria aktualizacji można zdefiniować za pomocą operatorów aktualizacji. Uruchommy zapytanie, aby zaktualizować „ Opłata za modelowanie „ pole do „ 18000 ' gdzie ' Nazwisko „obiekt równa się” Dep ” w dokumencie:

db.Linuxhint_Col2.updateOne ( { „Model_Nazwa.Nazwisko” : 'Depp' } , { $ustaw : { Opłata za modelowanie: 18000 } } )

Wyjście

Dane wyjściowe zwróciły komunikat o powodzeniu.

Aby zweryfikować wprowadzone zmiany, pobierz dokument, którego dotyczy problem, korzystając z tego „ znajdować() ' Komenda:

db.Linuxhint_Col2.find ( { „Model_Nazwa.Nazwisko” : 'Depp' } )

Wyjście

Dane wyjściowe potwierdziły, że dokument został pomyślnie zaktualizowany.

Przykład 2: Dodaj nowe pole przy użyciu metody „db.collection.updateOne()”.
db.collection.updateOne() ” dodaje nowe pole za pomocą metody „ $ustaw ” w dokumencie, jeśli jeszcze nie istnieje. jako „ Doświadczenie ” nie istnieje dla dokumentów, w których „ Opłata za modelowanie ' jest mniej niż ' 9000 ”.

Dodajmy nowe pole „ Doświadczenie ” o wartości „ Początkujący ” w dokumencie, w którym „ Opłata za modelowanie ' jest mniej niż ' 9000 ” używając tego zapytania:

db.Linuxhint_Col2.updateOne ( { „Opłata za modelowanie” : { $lt : 9000 } } , { $ustaw : { 'Doświadczenie' : 'Początkujący' } } )

Wyjście

Dane wyjściowe zwracają komunikat wskazujący, że jeden dokument spełnia kryteria wyboru i został pomyślnie zmodyfikowany.

Zweryfikujmy to, pobierając wszystkie dokumenty dostępne w zbiorze” Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Wyjście

Dane wyjściowe pokazują, że jeden dokument spełniający warunek został zmodyfikowany, a nowe pole zostało pomyślnie wstawione.

Przykład 3: Aktualizacja wielu pól dokumentu przy użyciu metody „db.collection.updateOne()”
Użytkownik może nawet modyfikować wiele pól w jednym dokumencie. Tutaj to zapytanie podane poniżej zmodyfikuje nazwisko i wiek dokumentu, w którym „ Imię ' równa się ' Noe „:

db.Linuxhint_Col2.updateOne ( { „Model_Nazwa.Imię” : „Noe” } , { $ustaw : { „Model_Nazwa.Nazwisko” : 'Łania' , „Model_wiek” : 23 } } )

Wyjście

Zapytanie zostało wykonane bez żadnych błędów.

Aby zweryfikować zmiany, użyj metody „find()” w celu pobrania dokumentu, w którym znajduje się „ Imię ' równa się ' Noe :

db.Linuxhint_Col2.find ( { „Model_Nazwa.Imię” : „Noe” } )

Wyjście

Dane wyjściowe pomyślnie zwróciły zmodyfikowany dokument.

Przykład 4: Użyj metody „db.collection.updateOne()” z operatorami aktualizacji
Podobnie jak w poprzednim przykładzie, użyliśmy „ $ustaw ” operator aktualizacji, aby zmodyfikować wartości w „ db.collection.updateOne() ' metoda. Spróbujmy użyć innego operatora aktualizacji „ $inc ”, który zwiększa pole o określoną wartość.

Tutaj w zapytaniu podanym poniżej metoda wyszukuje dokument, w którym „ Imię ' równa się ' Kate ” i dodaje „ 1000 ' w ' Opłata za modelowanie ”wartość pola:

db.Linuxhint_Col2.updateOne ( { „Model_Nazwa.Imię” : 'Kate' } , { $inc : { Opłata za modelowanie: 1000 } } )

Wyjście

Dane wyjściowe zwróciły komunikat o powodzeniu.

Aby zobaczyć zmiany, użyj opcji „ znajdować() ”, aby pobrać dokument, którego dotyczy problem:

db.Linuxhint_Col2.find ( { „Model_Nazwa.Imię” : 'Kate' } )

Wyjście

Dane wyjściowe przedstawiają zmodyfikowaną wartość „ Opłata za modelowanie ”.

Przykład 5: Dodaj nowy dokument, jeśli jeszcze nie istnieje, używając argumentu „upsert”.
Opcjonalny argument może służyć do zmiany zachowania tej metody. Jedną z takich opcji jest „ wstawić ”, która dodaje nowy dokument, jeśli żaden już istniejący dokument nie spełnia kryteriów wyboru zdefiniowanych w zapytaniu.

Spróbujmy dodać nowy dokument, definiując kryteria wyboru, które nie spełniają żadnych już istniejących dokumentów. Następnie ustaw dla niego kilka pól i dodaj opcję „ wstawić ” jako „true”, jak pokazano w poleceniu podanym poniżej:

db.Linuxhint_Col2.updateOne ( { „Model_Nazwa.Imię” : „Dawid” } , { $ustaw : { Opłata za modelowanie: 10000 ,  Model_Wiek: 23 , „Model_Nazwa.Nazwisko” : 'Kowal' } } , { wstaw: PRAWDA } )

Wyjście

Dane wyjściowe pokazały, że potwierdzony komunikat jest prawdziwy.

Na koniec sprawdź jego modyfikację, uruchamiając to polecenie:

db.Linuxhint_Col2.find ( { „Model_Nazwa.Imię” : „Dawid” } )

Wyjście

Dane wyjściowe wskazują, że nowy dokument został pomyślnie dodany.

Wniosek

db.collection.updateOne() ” w MongoDB służy do aktualizacji pierwszego dokumentu spełniającego kryteria wyboru. Może modyfikować jedno lub wiele pól w dokumencie za pomocą operatorów aktualizacji, takich jak „ $ustaw ' I ' $inc ”. Co więcej, ta metoda akceptuje również opcjonalne argumenty, aby zmienić zachowanie metody, takie jak „ wstawić ”, który dodaje nowy dokument w przypadku, gdy kryteria wyboru nie pasują do żadnego istniejącego dokumentu. W tym poście omówiono użycie „ db.collection.updateOne() ” w MongoDB.