Što je db.collection.updateOne() u MongoDB-u?

Sto Je Db Collection Updateone U Mongodb U



MongoDB je moćna nerelacijska baza podataka koja može pohraniti više dokumenata. Ponekad će korisnik možda morati ažurirati jedan dokument koji zadovoljava određene kriterije. U ovoj situaciji mogu koristiti ' db.collection.updateOne() ”, koja ažurira i modificira prvi dokument koji zadovoljava kriterije odabira te ga modificira.

Što je metoda “db.collection.updateOne()” u MongoDB-u?

' db.collection.updateOne() ” metoda ažurira jedan dokument koji odgovara definiranim kriterijima. Ako više od jednog dokumenta odgovara kriterijima samo će prvi dokument biti izmijenjen. Može se koristiti s operatorima ažuriranja, kao što je ' $set ”, “ $inc ” i mnogo više .

Kako koristiti metodu “db.collection.updateOne()” u MongoDB-u?

' db.collection.updateOne() ” metoda se može koristiti za ažuriranje jednog polja, kao i više polja jednog dokumenta koja odgovaraju kriterijima odabira. Štoviše, ova metoda također može dodati polje u dokument i može se koristiti s operatorima ažuriranja. Sintaksa ' db.collection.updateOne() ” metoda je navedena u nastavku:







Osnovna sintaksa



db.collection.updateOne ( { kriterij_filtra } , { Ažuriraj } , { opcije } )

Ovdje u gornjoj sintaksi:



  • Ova metoda će ažurirati prvi dokument koji zadovoljava kriterije odabira
  • ' kriterij_filtra ” definira kriterije za ažuriranje
  • ' Ažuriraj ” sadrži polja koja će biti izmijenjena u dokumentu
  • ' opcije ' argument je izborni argument koji modificira rad ove metode, kao što je ' upsert ' i ' savjet

Za ovaj post koristit ćemo ' Linuxhint_Col2 ' dokumenti zbirke za prikaz rada ' db.collection.updateOne() ” metoda. Za pregled dokumenata pohranjenih u ovoj zbirci izvršite naredbu:





db.Linuxhint_Col2.find ( )

Izlaz

Izlaz je dohvatio sve dokumente pohranjene u ' Linuxhint_Col2 ” zbirka.



Primjer 1: ažuriranje jednog polja
Da biste ažurirali jedno polje u dokumentu, definirajte njegove kriterije odabira i ažurirajte kriterije. Kriteriji ažuriranja mogu se definirati pomoću operatora ažuriranja. Pokrenimo upit za ažuriranje ' Naknada za modeliranje ' polje do ' 18000 ' gdje je ' Prezime 'objekt je jednak' Depp ” u dokumentu:

db.Linuxhint_Col2.updateOne ( { 'Naziv_modela.Prezime' : 'Depp' } , { $set : { Naknada za modeliranje: 18000 } } )

Izlaz

Izlaz je vratio poruku o uspjehu.

Da biste provjerili učinjene promjene, dohvatite zahvaćeni dokument koristeći ovaj ' pronaći() ” naredba:

db.Linuxhint_Col2.find ( { 'Naziv_modela.Prezime' : 'Depp' } )

Izlaz

Izlaz je potvrdio da je dokument uspješno ažuriran.

Primjer 2: Dodajte novo polje pomoću metode “db.collection.updateOne()”
' db.collection.updateOne() ' dodaje novo polje koristeći ' $set ” u dokumentu ako već ne postoji. kao ' Iskustvo ' polje ne postoji za dokumente u kojima je ' Naknada za modeliranje ” je manje od „ 9000 ”.

Dodajmo novo polje ' Iskustvo ' sa vrijednošću ' Početnik ' u dokumentu gdje je ' Naknada za modeliranje ” je manje od „ 9000 ” pomoću ovog upita:

db.Linuxhint_Col2.updateOne ( { 'Naknada za modeliranje' : { $lt : 9000 } } , { $set : { 'Iskustvo' : 'Početnik' } } )

Izlaz

Izlaz vraća poruku koja pokazuje da jedan dokument odgovara kriterijima odabira i da je uspješno izmijenjen.

Dopustite da to potvrdimo preuzimanjem svih dokumenata dostupnih u zbirci “ Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Izlaz

Izlaz pokazuje da je jedan dokument koji ispunjava uvjet izmijenjen, a novo polje je uspješno umetnuto.

Primjer 3: Ažuriranje više polja dokumenta pomoću metode “db.collection.updateOne()”
Korisnik čak može mijenjati više polja u jednom dokumentu. Ovdje će ovaj upit naveden u nastavku promijeniti prezime i dob za dokument gdje je ' Ime 'jednako' Noa “:

db.Linuxhint_Col2.updateOne ( { 'Naziv_modela. Ime' : 'Noa' } , { $set : { 'Naziv_modela.Prezime' : 'srna' , 'Model_dob' : 23 } } )

Izlaz

Upit je izvršen bez greške.

Za provjeru promjena upotrijebite metodu “find()” za dohvaćanje dokumenta gdje je “ Ime 'jednako' Noa :

db.Linuxhint_Col2.find ( { 'Naziv_modela. Ime' : 'Noa' } )

Izlaz

Izlaz je uspješno vratio izmijenjeni dokument.

Primjer 4: Koristite metodu “db.collection.updateOne()” s operatorima ažuriranja
Kao i u prethodnom primjeru, koristili smo ' $set ” ažuriranje operatora za izmjenu vrijednosti u “ db.collection.updateOne() ” metoda. Pokušajmo upotrijebiti drugi operator ažuriranja “ $inc ” koja povećava polje s navedenim iznosom.

Ovdje u upitu navedenom u nastavku, metoda traži dokument u kojem je ' Ime 'jednako' Kate ” i dodaje „ 1000 ' u ' Naknada za modeliranje ” vrijednost polja:

db.Linuxhint_Col2.updateOne ( { 'Naziv_modela. Ime' : 'Kate' } , { $inc : { Naknada za modeliranje: 1000 } } )

Izlaz

Izlaz je vratio poruku o uspjehu.

Da biste vidjeli promjene, koristite ' pronaći() ” metoda za dohvaćanje zahvaćenog dokumenta:

db.Linuxhint_Col2.find ( { 'Naziv_modela. Ime' : 'Kate' } )

Izlaz

Izlaz prikazuje modificiranu vrijednost ' Naknada za modeliranje ”.

Primjer 5: Dodajte novi dokument ako već ne postoji koristeći argument 'upsert'
Neobavezni argument može se koristiti za promjenu ponašanja ove metode. Jedna takva opcija je ' upsert ” koji dodaje novi dokument ako nijedan već postojeći dokument ne zadovoljava kriterije odabira definirane u upitu.

Pokušajmo dodati novi dokument definiranjem kriterija odabira koji ne zadovoljavaju niti jedan već postojeći dokument. Nakon toga postavite neka polja za njega i dodajte opciju ' upsert ” kao “true” kao što je prikazano u naredbi u nastavku:

db.Linuxhint_Col2.updateOne ( { 'Naziv_modela. Ime' : 'David' } , { $set : { Naknada za modeliranje: 10000 ,  Model_Age: 23 , 'Naziv_modela.Prezime' : 'Smith' } } , { upsert: pravi } )

Izlaz

Izlaz je pokazao da je potvrđena poruka istinita.

Na kraju, potvrdite njegovu izmjenu pokretanjem ove naredbe:

db.Linuxhint_Col2.find ( { 'Naziv_modela. Ime' : 'David' } )

Izlaz

Ispis je pokazao da je novi dokument uspješno dodan.

Zaključak

' db.collection.updateOne() ” metoda u MongoDB-u koristi se za ažuriranje prvog dokumenta koji zadovoljava kriterije odabira. Može mijenjati jedno ili više polja u dokumentu pomoću operatora ažuriranja, kao što je ' $set ' i ' $inc ”. Štoviše, ova metoda također prihvaća neobavezne argumente za promjenu ponašanja metode, kao što je ' upsert ” koji dodaje novi dokument u slučaju da kriteriji odabira ne odgovaraju nijednom postojećem dokumentu. Ovaj post raspravljao je o korištenju ' db.collection.updateOne() ” metoda u MongoDB-u.