Mis on MongoDB-s db.collection.updateOne()?

Mis On Mongodb S Db Collection Updateone



MongoDB on võimas mitterelatsiooniline andmebaas, mis suudab salvestada mitut dokumenti. Mõnikord võib kasutajal olla vaja värskendada üht dokumenti, mis vastab teatud kriteeriumidele. Sellises olukorras saavad nad kasutada db.collection.updateOne() ” meetod, mis uuendab ja muudab esimest valikukriteeriumitele vastavat dokumenti ning muudab seda.

Mis on MongoDB meetod 'db.collection.updateOne()'?

' db.collection.updateOne() ” meetod värskendab üht dokumenti, mis vastab määratletud kriteeriumidele. Kui kriteeriumidele vastab rohkem kui üks dokument, muudetakse ainult esimest dokumenti. Seda saab kasutada koos värskendusoperaatoritega, näiteks $set ”, “ $inc ” ja palju rohkem .

Kuidas kasutada MongoDB-s meetodit 'db.collection.updateOne()'?

' db.collection.updateOne() ” meetodit saab kasutada nii ühe välja kui ka ühe dokumendi mitme valiku kriteeriumidele vastava välja värskendamiseks. Lisaks saab selle meetodi abil lisada dokumendile välja ja seda saab kasutada värskendusoperaatoritega. Süntaks ' db.collection.updateOne() ” meetod on esitatud allpool:







Põhiline süntaks



db.collection.updateOne ( { filter_kriteeriumid } , { värskendada } , { valikuid } )

Siin ülaltoodud süntaksis:



  • See meetod värskendab esimest dokumenti, mis vastab valikukriteeriumidele
  • ' filter_kriteeriumid ” määratleb uuenduse kriteeriumid
  • ' värskendada ” sisaldab välju, mida dokumendis muudetakse
  • ' valikuid ' argument on valikuline argument, mis muudab selle meetodi tööd, näiteks ' ärritunud ” ja „ vihje

Selle postituse jaoks kasutame ' Linuxhint_Col2 'kogu dokumendid, mis demonstreerivad' db.collection.updateOne() ” meetod. Sellesse kogusse salvestatud dokumentide vaatamiseks täitke antud käsk:





db.Linuxhint_Col2.find ( )

Väljund

Väljund tõi välja kõik kaustas ' Linuxhint_Col2 ” kollektsioon.



Näide 1: Värskendage üksikut välja
Dokumendi üksiku välja värskendamiseks määrake selle valikukriteeriumid ja värskendage kriteeriume. Värskendamise kriteeriumid saab määratleda värskendusoperaatorite abil. Laske meil käivitada päring, et värskendada Modelleerimise_tasu ' väljalt ' 18000 'kus' Perekonnanimi 'objekt võrdub' Depp ” dokumendis:

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

Väljund

Väljund tagastas eduteate.

Tehtud muudatuste kontrollimiseks hankige mõjutatud dokument, kasutades seda ' leia () 'käsk:

db.Linuxhint_Col2.find ( { 'Modeli_nimi.Perekonnanimi' : 'Depp' } )

Väljund

Väljund kinnitas, et dokumendi värskendamine õnnestus.

Näide 2: lisage uus väli, kasutades meetodit 'db.collection.updateOne()'
' db.collection.updateOne() ' meetod lisab uue välja, kasutades ' $set ” operaator dokumendis, kui seda veel pole. Nagu ' Kogemused välja ei eksisteeri dokumentide jaoks, kus ' Modelleerimise_tasu ' on vähem kui ' 9000 ”.

Lisame uue välja ' Kogemused ' väärtusega ' Algaja ' dokumendis, kus ' Modelleerimise_tasu ' on vähem kui ' 9000 ' kasutades seda päringut:

db.Linuxhint_Col2.updateOne ( { 'Modelleerimistasu' : { $ lt : 9000 } } , { $set : { 'Kogemus' : 'Algaja' } } )

Väljund

Väljund tagastab teate, mis näitab, et üks dokument vastab valikukriteeriumidele ja on edukalt muudetud.

Kontrollime seda, otsides üles kõik kogus olevad dokumendid ' Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Väljund

Väljund näitab, et ühte tingimusele vastavat dokumenti muudetakse ja uus väli on edukalt sisestatud.

Näide 3: Dokumendi mitme välja värskendamine, kasutades meetodit „db.collection.updateOne()”
Kasutaja saab muuta ühes dokumendis isegi mitut välja. Siin see allpool antud päring muudab selle dokumendi perekonnanime ja vanust, kus ' Eesnimi ' võrdub ' Noa “:

db.Linuxhint_Col2.updateOne ( { 'Modeli_nimi.Eesnimi' : 'Noa' } , { $set : { 'Modeli_nimi.Perekonnanimi' : 'Doe' , 'Model_Age' : 23 } } )

Väljund

Päring on täidetud ilma ühegi veata.

Muudatuste kontrollimiseks kasutage 'find()' meetodit, et hankida dokument, kus ' Eesnimi ' võrdub ' Noa :

db.Linuxhint_Col2.find ( { 'Modeli_nimi.Eesnimi' : 'Noa' } )

Väljund

Väljund tagastas muudetud dokumendi edukalt.

Näide 4: kasutage värskendusoperaatoritega meetodit 'db.collection.updateOne()'
Nagu eelmises näites, kasutasime ' $set ' värskendage operaatorit, et muuta väärtusi jaotises ' db.collection.updateOne() ” meetod. Proovime kasutada mõnda muud värskendusoperaatorit ' $inc ”, mis suurendab välja määratud summaga.

Siin allpool esitatud päringus otsib meetod dokumenti, kus ' Eesnimi ' võrdub ' Kate ” ja lisab „ 1000 ' jaotises ' Modelleerimise_tasu ” välja väärtus:

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

Väljund

Väljund tagastas eduteate.

Muudatuste vaatamiseks kasutage ' leia () ” meetod mõjutatud dokumendi toomiseks:

db.Linuxhint_Col2.find ( { 'Modeli_nimi.Eesnimi' : 'Kate' } )

Väljund

Väljund kujutab '' muudetud väärtust Modelleerimise_tasu ”.

Näide 5: lisage uus dokument, kui seda juba ei eksisteeri, kasutades argumenti 'upsert'
Valikulist argumenti saab kasutada selle meetodi käitumise muutmiseks. Üks selline võimalus on ' ärritunud ”, mis lisab uue dokumendi, kui ükski juba olemasolev dokument ei vasta päringus määratletud valikukriteeriumidele.

Proovime lisada uue dokumendi, määratledes valikukriteeriumid, mis ei vasta ühelegi juba olemasolevale dokumendile. Pärast seda määrake sellele mõned väljad ja lisage valik ' ärritunud ' kui 'tõene', nagu on näidatud allolevas käsus:

db.Linuxhint_Col2.updateOne ( { 'Modeli_nimi.Eesnimi' : 'Taavet' } , { $set : { Modeling_Fee: 10 000 , Model_Age: 23 , 'Modeli_nimi.Perekonnanimi' : 'Smith' } } , { upsert: tõsi } )

Väljund

Väljund näitas, et kinnitusteade on tõene.

Lõpuks kontrollige selle muudatust, käivitades selle käsu:

db.Linuxhint_Col2.find ( { 'Modeli_nimi.Eesnimi' : 'Taavet' } )

Väljund

Väljund näitas, et uus dokument on edukalt lisatud.

Järeldus

' db.collection.updateOne() ” meetodit MongoDB-s kasutatakse esimese valikukriteeriumitele vastava dokumendi värskendamiseks. See võib muuta nii ühte kui ka mitut välja dokumendis, kasutades värskendusoperaatoreid, näiteks ' $set ” ja „ $inc ”. Lisaks aktsepteerib see meetod ka valikulisi argumente meetodi käitumise muutmiseks, näiteks ' ärritunud ”, mis lisab uue dokumendi juhuks, kui valikukriteeriumid ei vasta ühelegi olemasolevale dokumendile. Selles postituses on käsitletud ' db.collection.updateOne() ” meetod MongoDB-s.