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

Kaj Je Db Collection Updateone V Mongodb



MongoDB je zmogljiva nerelacijska baza podatkov, ki lahko shrani več dokumentov. Včasih mora uporabnik posodobiti en sam dokument, ki izpolnjuje določene kriterije. V tem primeru lahko uporabijo » db.collection.updateOne() ”, ki posodobi in spremeni prvi dokument, ki ustreza kriterijem izbora in ga spremeni.

Kaj je metoda »db.collection.updateOne()« v MongoDB?

' db.collection.updateOne() ” posodablja en dokument, ki ustreza definiranim kriterijem. Če več kot en dokument ustreza kriterijem, bo spremenjen le prvi dokument. Uporablja se lahko z operaterji posodobitve, kot je » $set ”, “ $inc « in Veliko več .

Kako uporabiti metodo “db.collection.updateOne()” v MongoDB?

' db.collection.updateOne() ” se lahko uporabi za posodobitev enega polja ali več polj enega dokumenta, ki ustrezajo izbirnim kriterijem. Poleg tega lahko s to metodo dodate polje v dokument in jo lahko uporabite z operaterji posodobitve. Sintaksa ' db.collection.updateOne() ” je navedena spodaj:







Osnovna sintaksa



db.collection.updateOne ( { merila_filtra } , { nadgradnja } , { opcije } )

Tukaj v zgornji sintaksi:



  • Ta metoda bo posodobila prvi dokument, ki izpolnjuje merila za izbor
  • ' merila_filtra ” določa kriterije za posodobitev
  • ' nadgradnja ” vsebuje polja, ki bodo spremenjena v dokumentu
  • ' opcije ' je neobvezen argument, ki spremeni delovanje te metode, kot je ' upsert « in » namig

Za to objavo bomo uporabili » Linuxhint_Col2 ' dokumenti zbirke za prikaz delovanja ' db.collection.updateOne() ” metoda. Za ogled dokumentov, shranjenih v tej zbirki, izvedite navedeni ukaz:





db.Linuxhint_Col2.find ( )

Izhod

Izhod je pridobil vse dokumente, shranjene v » Linuxhint_Col2 ” zbirka.



1. primer: posodobite eno polje
Če želite posodobiti posamezno polje v dokumentu, določite njegova izbirna merila in posodobite merila. Merila za posodabljanje je mogoče določiti z uporabo operaterjev za posodabljanje. Zaženimo poizvedbo za posodobitev » Modeling_Fee »polje v« 18000 ' kje za ' Priimek 'predmet je enak' Depp « v dokumentu:

db.Linuxhint_Col2.updateOne ( { 'Ime_modela. Priimek' : 'Depp' } , { $set : { Modeling_Fee: 18000 } } )

Izhod

Izhod je vrnil sporočilo o uspehu.

Če želite preveriti opravljene spremembe, pridobite zadevni dokument s tem ' najti() ” ukaz:

db.Linuxhint_Col2.find ( { 'Ime_modela. Priimek' : 'Depp' } )

Izhod

Izhod je potrdil, da je bil dokument uspešno posodobljen.

2. primer: dodajte novo polje z metodo »db.collection.updateOne()«
' db.collection.updateOne() ' doda novo polje z uporabo ' $set ” v dokumentu, če še ne obstaja. Kot ' Izkušnje « polje ne obstaja za dokumente, kjer je » Modeling_Fee ' je manj kot ' 9000 ”.

Dodajmo novo polje ' Izkušnje ' z vrednostjo ' Začetnik « v dokumentu, kjer je » Modeling_Fee ' je manj kot ' 9000 « z uporabo te poizvedbe:

db.Linuxhint_Col2.updateOne ( { 'Modeling_Fee' : { $lt : 9000 } } , { $set : { 'izkušnje' : 'Začetnik' } } )

Izhod

Izhod vrne sporočilo, ki nakazuje, da se en dokument ujema z izbirnimi kriteriji in je uspešno spremenjen.

Naj to preverimo tako, da pridobimo vse dokumente, ki so na voljo v zbirki ' Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Izhod

Izhod pokaže, da je bil en dokument, ki izpolnjuje pogoj, spremenjen in da je novo polje uspešno vstavljeno.

3. primer: posodobite več polj dokumenta z metodo »db.collection.updateOne()«
Uporabnik lahko spremeni celo več polj v enem dokumentu. Tukaj bo ta poizvedba, podana spodaj, spremenila priimek in starost za dokument, kjer je » Ime 'je enako' Noah “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Noah' } , { $set : { 'Ime_modela. Priimek' : 'srna' , 'Model_Age' : 23 } } )

Izhod

Poizvedba je bila izvedena brez napak.

Če želite preveriti spremembe, uporabite metodo »find()«, da pridobite dokument, kjer je » Ime 'je enako' Noah :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Noah' } )

Izhod

Izhod je uspešno vrnil spremenjeni dokument.

4. primer: uporabite metodo »db.collection.updateOne()« z operaterji posodobitve
Kot v prejšnjem primeru smo uporabili » $set ” posodobite operater za spreminjanje vrednosti v db.collection.updateOne() ” metoda. Poskusimo uporabiti drug operater posodobitve ' $inc ”, ki poveča polje z določeno količino.

Tukaj v spodnji poizvedbi metoda išče dokument, kjer je » Ime 'je enako' Kate « in dodaja » 1000 ' v ' Modeling_Fee ” vrednost polja:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Kate' } , { $inc : { Modeling_Fee: 1000 } } )

Izhod

Izhod je vrnil sporočilo o uspehu.

Za ogled sprememb uporabite » najti() ” za pridobitev prizadetega dokumenta:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Kate' } )

Izhod

Izhod prikazuje spremenjeno vrednost ' Modeling_Fee ”.

Primer 5: Dodajte nov dokument, če še ne obstaja, z uporabo argumenta »upsert«
Izbirni argument lahko uporabite za spreminjanje obnašanja te metode. Ena taka možnost je ' upsert ”, ki doda nov dokument, če noben že obstoječi dokument ne ustreza izbirnim kriterijem, določenim v poizvedbi.

Poskusimo dodati nov dokument tako, da določimo izbirne kriterije, ki ne izpolnjujejo nobenih že obstoječih dokumentov. Nato nastavite nekaj polj in dodajte možnost ' upsert « kot »true«, kot je prikazano v spodnjem ukazu:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'David' } , { $set : { Modeling_Fee: 10000 ,  Model_Age: 23 , 'Ime_modela. Priimek' : 'Smith' } } , { upsert: prav } )

Izhod

Izhod je pokazal, da je potrjeno sporočilo resnično.

Na koncu preverite njegovo spremembo tako, da zaženete ta ukaz:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'David' } )

Izhod

Izhod je pokazal, da je bil nov dokument uspešno dodan.

Zaključek

' db.collection.updateOne() ” metoda v MongoDB se uporablja za posodobitev prvega dokumenta, ki ustreza izbirnim kriterijem. Spremeni lahko eno ali več polj v dokumentu z uporabo operaterjev posodobitve, kot je ' $set « in » $inc ”. Poleg tega ta metoda sprejema tudi neobvezne argumente za spreminjanje obnašanja metode, kot je ' upsert ”, ki doda nov dokument v primeru, da se merila za izbor ne ujemajo z nobenim obstoječim dokumentom. Ta objava je obravnavala uporabo » db.collection.updateOne() ” v MongoDB.