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:
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 “:
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.