Co je db.collection.updateOne() v MongoDB?

Co Je Db Collection Updateone V Mongodb



MongoDB je výkonná nerelační databáze, která může ukládat více dokumentů. Někdy může uživatel potřebovat aktualizovat jeden dokument, který splňuje určitá kritéria. V této situaci mohou použít „ db.collection.updateOne() ” metoda, která aktualizuje a upravuje první dokument, který splňuje kritéria výběru, a upravuje jej.

Co je metoda „db.collection.updateOne()“ v MongoDB?

' db.collection.updateOne() Metoda ” aktualizuje jeden dokument, který odpovídá definovaným kritériím. Pokud kritériím vyhovuje více než jeden dokument, bude upraven pouze první dokument. Lze jej použít s aktualizačními operátory, jako je „ $set “, “ $ vč ' a mnoho dalších .

Jak používat metodu „db.collection.updateOne()“ v MongoDB?

' db.collection.updateOne() ” metodu lze použít k aktualizaci jednoho pole i více polí jednoho dokumentu, která odpovídají kritériím výběru. Kromě toho může tato metoda také přidat pole do dokumentu a lze ji použít s operátory aktualizace. Syntaxe „ db.collection.updateOne() “ metoda je uvedena níže:







Základní syntaxe



db.collection.updateOne ( { kritéria_filtru } , { Aktualizace } , { možnosti } )

Zde ve výše uvedené syntaxi:



  • Tato metoda aktualizuje první dokument, který splňuje kritéria výběru
  • ' kritéria_filtru ” definuje kritéria pro aktualizaci
  • ' Aktualizace ” obsahuje pole, která budou v dokumentu upravena
  • ' možnosti ” argument je volitelný argument, který upravuje fungování této metody, např. upsert ' a ' náznak

Pro tento příspěvek použijeme „ Linuxhint_Col2 'sbírkové dokumenty k prokázání fungování ' db.collection.updateOne() “ metoda. Chcete-li zobrazit dokumenty uložené v této kolekci, spusťte poskytnutý příkaz:





db.Linuxhint_Col2.find ( )

Výstup

Výstup načetl všechny dokumenty uložené v „ Linuxhint_Col2 “sbírka.



Příklad 1: Aktualizace jednoho pole
Chcete-li aktualizovat jediné pole v dokumentu, definujte jeho kritéria výběru a aktualizujte kritéria. Kritéria aktualizace lze definovat pomocí operátorů aktualizace. Spusťte dotaz pro aktualizaci „ Modeling_Fee z pole na „ 18 000 ' Kde ' Příjmení 'objekt se rovná' Depp “ v dokumentu:

db.Linuxhint_Col2.updateOne ( { 'Název_modelu.Příjmení' : 'Depp' } , { $set : { Modeling_Fee: 18 000 } } )

Výstup

Výstup vrátil zprávu o úspěchu.

Chcete-li ověřit provedené změny, načtěte dotčený dokument pomocí tohoto „ nalézt() 'příkaz:

db.Linuxhint_Col2.find ( { 'Název_modelu.Příjmení' : 'Depp' } )

Výstup

Výstup ověřil, že dokument byl úspěšně aktualizován.

Příklad 2: Přidání nového pole pomocí metody „db.collection.updateOne()“.
' db.collection.updateOne() “ metoda přidá nové pole pomocí “ $set ” operátor v dokumentu, pokud již neexistuje. Jako „ Zkušenosti pole neexistuje pro dokumenty, kde je Modeling_Fee ' je méně než ' 9000 “.

Přidáme nové pole „ Zkušenosti “ s hodnotou “ Začátečník “ v dokumentu, kde je „ Modeling_Fee ' je méně než ' 9000 “ pomocí tohoto dotazu:

db.Linuxhint_Col2.updateOne ( { 'Poplatek za modelování' : { $lt : 9000 } } , { $set : { 'Zkušenosti' : 'Začátečník' } } )

Výstup

Výstup vrátí zprávu, která označuje, že jeden dokument odpovídá kritériím výběru a byl úspěšně upraven.

Ověřte si to vyhledáním všech dokumentů dostupných ve sbírce “ Linuxhint_Col2 “:

db.Linuxhint_Col2.find ( )

Výstup

Výstup ukazuje, že jeden dokument, který splňuje podmínku, byl upraven a nové pole bylo úspěšně vloženo.

Příklad 3: Aktualizace více polí dokumentu pomocí metody „db.collection.updateOne()“
Uživatel může upravit i více polí v jednom dokumentu. Zde tento níže uvedený dotaz upraví příjmení a věk dokumentu, kde je „ Jméno ' rovná se ' Noe “:

db.Linuxhint_Col2.updateOne ( { 'Název_modelu.Jméno' : 'Noe' } , { $set : { 'Název_modelu.Příjmení' : 'Srna' , 'Věk_modelky' : 23 } } )

Výstup

Dotaz byl proveden bez chyby.

Chcete-li ověřit změny, použijte metodu „find()“ k načtení dokumentu, kde je „ Jméno ' rovná se ' Noe :

db.Linuxhint_Col2.find ( { 'Název_modelu.Jméno' : 'Noe' } )

Výstup

Výstup úspěšně vrátil upravený dokument.

Příklad 4: Použijte metodu “db.collection.updateOne()” s aktualizačními operátory
Stejně jako v předchozím příkladu jsme použili „ $set ” aktualizovat operátor, aby upravil hodnoty v “ db.collection.updateOne() “ metoda. Zkusme použít jiného operátora aktualizace “ $ vč “, která zvýší pole o zadanou částku.

Zde v dotazu uvedeném níže metoda hledá dokument, kde je „ Jméno ' rovná se ' Kate “ a dodává „ 1000 “ v „ Modeling_Fee “hodnota pole:

db.Linuxhint_Col2.updateOne ( { 'Název_modelu.Jméno' : 'kate' } , { $ vč : { Modeling_Fee: 1000 } } )

Výstup

Výstup vrátil zprávu o úspěchu.

Chcete-li zobrazit změny, použijte „ nalézt() ” metoda k načtení dotčeného dokumentu:

db.Linuxhint_Col2.find ( { 'Název_modelu.Jméno' : 'kate' } )

Výstup

Výstup zobrazuje upravenou hodnotu „ Modeling_Fee “.

Příklad 5: Přidejte nový dokument, pokud již neexistuje, pomocí argumentu „upsert“.
Volitelný argument lze použít ke změně chování této metody. Jednou z takových možností je „ upsert ” který přidá nový dokument, pokud žádný již existující dokument nesplňuje výběrová kritéria definovaná v dotazu.

Pokusme se přidat nový dokument definováním výběrových kritérií, která nesplňují žádné již existující dokumenty. Poté pro něj nastavte některá pole a přidejte možnost „ upsert “ jako „pravda“, jak je uvedeno v příkazu uvedeném níže:

db.Linuxhint_Col2.updateOne ( { 'Název_modelu.Jméno' : 'David' } , { $set : { Modeling_Fee: 10 000 ,  Model_Age: 23 , 'Název_modelu.Příjmení' : 'Kovář' } } , { upsert: skutečný } )

Výstup

Výstup ukázal potvrzenou zprávu jako pravdivou.

Nakonec ověřte jeho úpravu spuštěním tohoto příkazu:

db.Linuxhint_Col2.find ( { 'Název_modelu.Jméno' : 'David' } )

Výstup

Výstup ukazoval, že nový dokument byl úspěšně přidán.

Závěr

' db.collection.updateOne() ” metoda v MongoDB se používá k aktualizaci prvního dokumentu, který splňuje kritéria výběru. Může upravit jedno i více polí v dokumentu pomocí operátorů aktualizace, jako je „ $set ' a ' $ vč “. Navíc tato metoda také přijímá volitelné argumenty pro změnu chování metody, jako je „ upsert ” který přidá nový dokument v případě, že kritéria výběru neodpovídají žádnému existujícímu dokumentu. Tento příspěvek pojednává o použití „ db.collection.updateOne() ” metoda v MongoDB.