Syntaks
>> db.Collection_name.UpdateOne (filter, dokument/ attributt, alternativer)
La oss nå utdype argumentene til UpdateOne ():
Når du har installert MongoDB i systemet ditt, kan du få tilgang til det gjennom terminalen ved å bruke 'Mongo'. De forutsetningstrinnene som brukes til å implementere MongoDB UpdateOne, skal koble seg til DB og opprette en samling. Noe relatert informasjon er definert nedenfor.
Databasenavn: Demo
Samling: Jobb
Samlingen som brukes til å holde data i MongoDB er opprettet gjennom en enkel kommando, vi har opprettet samlingen med navnet 'Job'. En Create Command brukes til dette formålet.
>> db.CreateCollection ('jobb')
Etter at du har opprettet samlingen, kan vi legge inn data i den. I stedet for å bruke Insertone -tilnærmingen, har vi brukt InsertMany, da det kan legge til data gjennom en enkelt kommando, trenger du ikke legge til hver rad hver gang.
>> db.jobb.InsertMany ([FirstName: "John", LastName: "Dew", e -post: "[email protected] ", lønn: 5000,
Tilsvarende har vi lagt til 6 rader i samlingen, hver atskilt med komma. 4 dokumenter for hver jobbrekke brukes. Vi har tildelt en verdi til hvert attributt.
Du kan se at når vi først har kommet inn i alle rader samlet, blir anerkjennelsen gitt sann. Og for hver rad og på samme måte tildeles ID -er på slutten kollektivt.
Du kan se alle angitte data gjennom funnet ().pen () funksjon gjennom samlingsnavnet.
>> db.jobb.finne().ganske()
Vi har tatt et utdrag av de første 4 radene.
UpdateOne ()
Nå vil vi bruke UpdateOne () -funksjonen i kommandoene for å demonstrere arbeidet med denne funksjonen.
Eksempel 1: Oppdater et enkelt eksisterende attributt
Vi ønsker å endre et felt som allerede er til stede i radene i samlingen. Det er flere oppdateringsalternativer. Blant dem bruker vi alternativet '$ set', som brukes til å tilordne en verdi til en ny attributt eller erstatte den forrige verdien med en ny.
For å hente de berørte dataene, har vi brukt lønnsattributtet i hentedelen. I følge spørringen må vi få resultatet med en lønn på 5000. Når denne raden blir hentet, har vi brukt en betingelse for å erstatte fornavnet til posten med et nytt navn som er 'Morgan'.
>> db.jobb.UpdateOne (lønn: 5000, $ set: FirstName: 'Morgan')
Denne kommandoen vil bringe den første posten i samlingen av databasen i henhold til den spesifiserte lønnen. Det eldre fornavnet var John. Etter å ha brukt kommandoen, vil John bli erstattet med 'Morgan'. Når du utfører kommandoen, vil du igjen få bekreftelsen. Dette betyr at spørringen har kjørt vellykket ved å vise at matchedCount -nummeret er 1. Derfor vil det samme bli endret. Vi vil sjekke den resulterende verdien ved å bruke funnet ().Pen () kommando.
Du kan observere endringen i fornavnet.
Eksempel 2: Oppdater samling ved å legge til et enkelt attributt
Uavhengig av å erstatte de eksisterende dataene, kan det hende du også må legge til ny informasjon i den eksisterende posten. Dette gjøres også gjennom oppdateringskommandoen. Akkurat som det forrige eksemplet, vil alternativet $ set bli brukt igjen for å legge til et nytt dokument i samlingen. Filtrering vil bli gjort i henhold til fornavnet. Hvis det spesifiserte navnet som er nevnt i spørringen blir matchet, vil vi legge til et nytt dokument av stedet til den spesifiserte raden. Vi ønsker å legge til stedsfeltet til raden med fornavnet 'Toshay'.
>> db.jobb.UpdateOne (FirstName: "Toshay", $ set: location: "USA")
MongoDB -terminalen vil svare. Den ene matchede raden blir deretter endret. Vi vil se modifiseringen gjennom Find () -funksjonen.
Det er den andre platen. Så et nytt feltfelt sammen med den tildelte verdien legges til.
Eksempel 3: Oppdater dokumentet ved å øke verdien
Det er ikke nødvendig å erstatte eller legge til et nytt dokument hver gang. Det er også mulig at vi kan øke verdien som allerede er til stede med en verdi ved å nevne den i spørringen. Det beløpet legges til det forrige, og som resultat genereres en ny verdi. For dette formålet bruker vi en oppdateringsoperatør “$ inc” som refererer til økning. Denne operatøren brukes i stedet for '$ set' fordi vi ikke ønsker å sette verdien, men for å øke den.
Resultatet vil bli filtrert i henhold til fornavnet, og deretter vil lønnen til den personen bli økt med 500. Navnet er 'James' og hans opprinnelige lønn er 7500.
>> db.jobb.UpdateOne (FirstName: "James", $ inc: lønn: 500)
Ved utførelse vil du observere at lønnen til James blir 8000 fra 7500 gjennom $ Inc -operatøren.
Konklusjon
MongoDB UpdateOne er funksjonen som brukes til å oppdatere et enkelt dokument som oppstår først i samlingen hvis flere kamper blir funnet. Vi prøvde å forklare funksjonene og funksjonalitetene til denne funksjonen til MongoDB. I starten har vi beskrevet syntaksen, og deretter blir noen grunnleggende eksempler forklart for å unngå tvetydighet angående funksjonene til denne funksjonen. UpdateOne tilbyr noen operatører som brukes i spørringen. For eksempel brukes $ Set og $ Inc i denne artikkelen for å sette den nye verdien til dokumentet og for å øke den forrige til en viss grad.