MongoDB Updatemany

MongoDB Updatemany

MongoDB er et open source databaseadministrasjonssystem som lar brukerne legge til nedlastinger og koble dem enkelt med serveren. Som navnet tilsier, som andre databaser, vil det lagre data og vil tillate brukere å administrere dem. For dette formålet har det flere funksjoner (i.e. updateMany ()). UpdateMany () er kommandolinjefunksjonen som brukes til å endre dokumenter i samlingen av MongoDB, avhengig av spørringen vi brukte. Endring er alltid relatert til enten å erstatte eksisterende data eller legge til et nytt felt i posten. Vårt nåværende emne refererer til updatemany () -funksjonen i MongoDB. La oss starte med implementeringen for å se hvordan denne kommandoen er relatert til hvert scenario.

Når du åpner terminalen, skal du nå skrive en kommando angående MongoDB. Hvis du ikke er sikker på databasen du er koblet til, kan du bare skrive 'DB'. Dette vil gi navnet på databasen.

>> db

Databasen vil være enten standard eller en brukerdefinert DB. Hvis du ikke har opprettet en egen database, vil sannsynligvis MongoDB bruke standarddatabasen, 'Test'. Men for å bruke databasen din, må du bruke en kommando over "bruk" med databasenavnet.

>> Bruk demo.

Derfor er demo den brukerdefinerte databasen. MongoDB -terminalen vil svare på hvilken database er byttet fra testen til demo -databasen.

Samlingsskaping

Når du er ferdig med databasetilkobling og creatione, vil bekymringen din stole på dataregistrering. I likhet med andre databaser tilbyr MongoDB også containere for å lagre data. Dette er samlinger. La oss se hvordan samlinger dannes ved å bruke navnet 'Test'.

>> db.CreateCollection ('Test')

De CreateCollection Kommando med DB -nøkkelordet brukes til å lage en samling sammen med navnet i parentes. Forsikre deg om at samlingen er opprettet i den samme databasen du vil bruke i fremtiden. For mens du oppretter en samling, er ikke databasenavnet spesifisert.

Responsen fra MongoDB er 'OK', noe som betyr at samlingen opprettes med suksess uten noe unntak. Vi hadde allerede lagt til data i samlingen. Tre attributter blir lagt til og tilordnet henholdsvis verdiene. For å se alle data, bruk kommandoen Find ().

>> db.test.finne().ganske()

Denne kommandoen vil hente alle postene til testsamlingen.

Du kan observere at 4 rader er lagt inn i samlingen.

UpdateMany ()

Noen ganger har du lagt inn feil data, eller du må legge til flere felt i posten. Med andre ord, du trenger modifisering av data. Så det gjøres gjennom oppdateringskommandoen.

MongoDB gir et anlegg for å oppdatere de eksisterende dokumentene. Det er to typer for å oppdatere dokumentene.

  • db.samling.UpdateOne () - Den oppdaterer et enkelt attributt i en samling.
  • db.samling.updateMany () - Det brukes til å oppdatere mange attributter gjennom en enkelt kommando, i samlingen.

Merk: Begge oppdateringstypene er nyttige, men det anbefales av utviklerne å bruke UpdatemanNY (), da den bruker mindre tid og gjør koden kortere.

Som vårt tema som diskuteres er updateMania, så vil vi gå med det ved å beskrive syntaks.

# DB.Collection_name.updateMany (filter, navn på attributtet/dokumentet, alternativer)

Her betegner DB den nåværende databasen og Collection_Name er samlingen du vil bruke oppdateringskommandoen. Hovedsakelig er det tre argumenter i funksjonen til parameteren UpdateMany.

  • Filter: Det fungerer det samme som Find () -metoden. Det viser valgkriteriene for oppdateringen.
  • Dokument: Den inneholder verdien du vil legge til i raden eller den som kan brukes til erstatning.
  • Alternativer: Det er en valgfri verdi som kan fjernes.

Siden vi allerede har opprettet en samling og lagt til eksempeldata til den, la oss bruke oppdateringskommandoen på samlingen.

Eksempel 1: Oppdater en eksisterende post

Dette eksemplet refererer til modifisering av en allerede eksisterende verdi. For eksempel vil filterdelen av kommandoen finne navnet attributtet. Når kampen blir funnet, erstattes verdien av aldersfunksjonen.

>> db.test.Updatemany (navn: "David", $ set: Age: 20)

Som svar på kommandoen vil MongoDB erkjenne spørringen som sant og vil vise at en kamp ble funnet i hele posten. Deretter blir den berørte raden endret.

For å se posten vil vi bruke Find () -kommandoen

>> db.test.finne().ganske()

Som et resultat vil du legge merke til at Davids alder var 26 år da posten ble lagt inn, men ved å bruke UpdateMany () -funksjonen, erstattes aldersfunksjonen med 20.

Eksempel 2: Legg til en ny attributt til den eksisterende posten

Nå vil vi oppdatere et enkelt felt i posten til mer enn én person. Tidligere har vi brukt et navn som er en unik attributt. Den spesifiserer bare en enkelt person. For å målrette mer har vi valgt et seksjonsattributt. Denne gangen vil vi ikke endre den eksisterende posten, men den nye vil bli lagt til. Attributtet er "team" med en verdi. Dette vil bare bli lagt til i de radene som har seksjon a.

>> db.test.UpdateMany (seksjon: "a", $ set: team: "frukt")

Kommandoen vil returnere at 2 rader er endret etter å ha funnet kampen. Når du bruker Find () -funksjonen, vil du få:

Eksempel 3: Endre all post

Hvis du vil legge til et nytt felt i hver rad, bruker vi ikke noe attributt i filteret til kommandoen, men tomme parenteser er nevnt.

>> db.test.updateMany (, $ set: kvalifisering: "true")

Så det nye kvalifiseringsattributtet vil bli lagt til i alle rader.

Konklusjon

Denne diskusjonen skulle gi bruken av oppdateringen () -kommandoen i MongoDB -databasen. Vi ga en kort introduksjon til databasen, samlingene og innsettingen av data fordi de er forutsetningene for å anvende kommandoen UpdateManiaN (). Oppdateringskommandoen kan brukes videre i to underfelt; UpdateOne () og UpdateMany (). Updatemany brukes i detalj ved å bruke noen eksempler som hjelper til med å lære og forstå dette konseptet.