Was ist db.collection.updateOne() in MongoDB?

Was Ist Db Collection Updateone In Mongodb



MongoDB ist eine leistungsstarke nicht relationale Datenbank, die mehrere Dokumente speichern kann. Manchmal muss der Benutzer möglicherweise ein einzelnes Dokument aktualisieren, das bestimmte Kriterien erfüllt. In dieser Situation können sie das „ db.collection.updateOne() ”-Methode, die das erste Dokument, das den Auswahlkriterien entspricht, aktualisiert und ändert und es ändert.

Was ist die Methode „db.collection.updateOne()“ in MongoDB?

Der ' db.collection.updateOne() Die Methode aktualisiert ein einzelnes Dokument, das den definierten Kriterien entspricht. Wenn mehr als ein Dokument die Kriterien erfüllt, wird nur das erste Dokument geändert. Es kann mit Update-Operatoren verwendet werden, z. B. „ $set “, „ $inkl ' Und viel mehr .

Wie verwende ich die Methode „db.collection.updateOne()“ in MongoDB?

Der ' db.collection.updateOne() Die Methode „kann verwendet werden, um ein einzelnes Feld sowie mehrere Felder eines einzelnen Dokuments zu aktualisieren, die den Auswahlkriterien entsprechen. Darüber hinaus kann diese Methode auch ein Feld zu einem Dokument hinzufügen und mit Aktualisierungsoperatoren verwendet werden. Die Syntax des „ db.collection.updateOne() Die Methode wird unten bereitgestellt:







Grundlegende Syntax



db.collection.updateOne ( { Filterkriterien } , { aktualisieren } , { Optionen } )

Hier in der obigen Syntax:



  • Diese Methode aktualisiert das erste Dokument, das die Auswahlkriterien erfüllt
  • Der ' Filterkriterien ” definiert die Kriterien für das Update
  • Der ' aktualisieren „enthält die Felder, die im Dokument geändert werden
  • Der ' Optionen „Argument ist ein optionales Argument, das die Funktionsweise dieser Methode ändert, wie zum Beispiel „ verärgern ' Und ' Hinweis

Für diesen Beitrag verwenden wir ein „ Linuxhint_Col2 Dokumente der Sammlung zur Demonstration der Arbeitsweise der „ db.collection.updateOne() ' Methode. Um die in dieser Sammlung gespeicherten Dokumente anzuzeigen, führen Sie den folgenden Befehl aus:





db.Linuxhint_Col2.find ( )

Ausgang

Die Ausgabe hat alle im Ordner „“ gespeicherten Dokumente abgerufen. Linuxhint_Col2 ' Sammlung.



Beispiel 1: Ein einzelnes Feld aktualisieren
Um das einzelne Feld in einem Dokument zu aktualisieren, definieren Sie seine Auswahlkriterien und aktualisieren Sie die Kriterien. Die Aktualisierungskriterien können mithilfe der Aktualisierungsoperatoren definiert werden. Lassen Sie uns eine Abfrage ausführen, um „ Modellierungsgebühr ”-Feld zu „ 18000 ' bei dem die ' Familienname, Nachname „Objekt gleich“ Depp ” im Dokument:

db.Linuxhint_Col2.updateOne ( { „Modellname.Nachname“ : „Depp“ } , { $set : { Modellierungsgebühr: 18000 } } )

Ausgang

Die Ausgabe gab die Erfolgsmeldung zurück.

Um die vorgenommenen Änderungen zu überprüfen, rufen Sie das betroffene Dokument mit folgendem Befehl ab: finden() ' Befehl:

db.Linuxhint_Col2.find ( { „Modellname.Nachname“ : „Depp“ } )

Ausgang

Die Ausgabe bestätigte, dass das Dokument erfolgreich aktualisiert wurde.

Beispiel 2: Fügen Sie ein neues Feld mit der Methode „db.collection.updateOne()“ hinzu
Der ' db.collection.updateOne() Die Methode fügt ein neues Feld mithilfe der Methode „ hinzu. $set ”-Operator im Dokument, falls er noch nicht vorhanden ist. Als die ' Erfahrung Das Feld „“ existiert nicht für die Dokumente, bei denen „ Modellierungsgebühr ' ist weniger als ' 9000 “.

Fügen wir das neue Feld „ Erfahrung ” mit dem Wert „ Anfänger “ in dem Dokument, in dem „ Modellierungsgebühr ' ist weniger als ' 9000 ” mit dieser Abfrage:

db.Linuxhint_Col2.updateOne ( { „Modeling_Fee“ : { $lt : 9000 } } , { $set : { 'Erfahrung' : 'Anfänger' } } )

Ausgang

Die Ausgabe gibt die Meldung zurück, die angibt, dass ein Dokument den Auswahlkriterien entspricht und erfolgreich geändert wurde.

Lassen Sie uns dies überprüfen, indem wir alle in der Sammlung verfügbaren Dokumente abrufen. Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Ausgang

Die Ausgabe zeigt, dass ein Dokument, das die Bedingung erfüllt, geändert wurde und ein neues Feld erfolgreich eingefügt wurde.

Beispiel 3: Aktualisieren Sie mehrere Felder eines Dokuments mit der Methode „db.collection.updateOne()“.
Der Benutzer kann sogar mehrere Felder in einem einzigen Dokument ändern. Hier ändert die unten angegebene Abfrage den Nachnamen und das Alter für das Dokument, in dem „ Vorname „ist gleich“ Noah „:

db.Linuxhint_Col2.updateOne ( { „Modellname.Vorname“ : 'Noah' } , { $set : { „Modellname.Nachname“ : 'Damhirschkuh' , „Model_Age“ : 23 } } )

Ausgang

Die Abfrage wurde ohne Fehler ausgeführt.

Um die Änderungen zu überprüfen, verwenden Sie die Methode „find()“, um das Dokument abzurufen, in dem „ Vorname „ist gleich“ Noah :

db.Linuxhint_Col2.find ( { „Modellname.Vorname“ : 'Noah' } )

Ausgang

Die Ausgabe hat das geänderte Dokument erfolgreich zurückgegeben.

Beispiel 4: Verwenden Sie die Methode „db.collection.updateOne()“ mit Update-Operatoren
Wie im vorherigen Beispiel haben wir das „ $set „Aktualisierungsoperator zum Ändern der Werte im „ db.collection.updateOne() ' Methode. Versuchen wir, einen anderen Update-Operator zu verwenden. $inkl ” wodurch das Feld um den angegebenen Betrag erhöht wird.

Hier in der unten bereitgestellten Abfrage sucht die Methode nach dem Dokument, in dem „ Vorname „ist gleich“ Kate “ und fügt hinzu „ 1000 ' im ' Modellierungsgebühr ” Feldwert:

db.Linuxhint_Col2.updateOne ( { „Modellname.Vorname“ : „Kate“ } , { $inkl : { Modellierungsgebühr: 1000 } } )

Ausgang

Die Ausgabe gab eine Erfolgsmeldung zurück.

Um die Änderungen anzuzeigen, verwenden Sie die Schaltfläche „ finden() ”-Methode zum Abrufen des betroffenen Dokuments:

db.Linuxhint_Col2.find ( { „Modellname.Vorname“ : „Kate“ } )

Ausgang

Die Ausgabe zeigt den geänderten Wert von „ Modellierungsgebühr “.

Beispiel 5: Fügen Sie ein neues Dokument hinzu, wenn es noch nicht vorhanden ist, indem Sie das Argument „upsert“ verwenden
Mit dem optionalen Argument kann das Verhalten dieser Methode geändert werden. Eine solche Option ist „ verärgern ” wodurch ein neues Dokument hinzugefügt wird, wenn kein bereits vorhandenes Dokument die in der Abfrage definierten Auswahlkriterien erfüllt.

Versuchen wir, ein neues Dokument hinzuzufügen, indem wir die Auswahlkriterien definieren, die keinem bereits vorhandenen Dokument entsprechen. Legen Sie anschließend einige Felder dafür fest und fügen Sie die Option „ verärgern ” als „true“, wie im folgenden Befehl gezeigt:

db.Linuxhint_Col2.updateOne ( { „Modellname.Vorname“ : 'David' } , { $set : { Modellierungsgebühr: 10000 ,  Model_Age: 23 , „Modellname.Nachname“ : 'Schmied' } } , { Upsert: WAHR } )

Ausgang

Die Ausgabe zeigte die bestätigte Nachricht als wahr an.

Überprüfen Sie abschließend die Änderung, indem Sie diesen Befehl ausführen:

db.Linuxhint_Col2.find ( { „Modellname.Vorname“ : 'David' } )

Ausgang

Die Ausgabe zeigte, dass das neue Dokument erfolgreich hinzugefügt wurde.

Abschluss

Der ' db.collection.updateOne() Die Methode „In MongoDB“ wird verwendet, um das erste Dokument zu aktualisieren, das die Auswahlkriterien erfüllt. Es kann sowohl ein einzelnes als auch mehrere Felder in einem Dokument ändern, indem es die Aktualisierungsoperatoren verwendet, wie zum Beispiel „ $set ' Und ' $inkl “. Darüber hinaus akzeptiert diese Methode auch optionale Argumente, um das Verhalten der Methode zu ändern, wie zum Beispiel „ verärgern ” Dadurch wird ein neues Dokument hinzugefügt, falls die Auswahlkriterien mit keinem vorhandenen Dokument übereinstimmen. In diesem Beitrag wurde die Verwendung des „ db.collection.updateOne() ”-Methode in MongoDB.