Vi kan oppdatere MongoDB Collections -dokumentet ved hjelp av Update () -metoden. Oppdateringsmetoden () metoden trenger en betingelse for oppdateringserklæringen for å sikre at bare de aktuelle dokumentene blir oppdatert. Oppdateringsspørsmålet tar de to parametrene for å oppdatere feltet for dokumentene. Den første parameteren er den eksisterende verdien av det spesifiserte feltet som vi ønsker å bli oppdatert. Den andre parameteren er spesifisert med $ set nøkkelord som er nødvendig for å oppdatere verdien av det neste spesifiserte dokumentet.
Hvordan oppdatere dokumentet i MongoDB
Før du bruker oppdateringsspørsmålet, trenger vi MongoDB -samlingen. Vi lager "Produkt" -samlingen som inneholder dokumentene. Dokumentene i "produktene" settes inn ved hjelp av følgende spørsmål:
db.Produkter.INSERTMANY ([
_id: 1,
Produkt: "Svarte jeans",
Antall: 15,
Størrelse: "Medium",
Status: "tilgjengelig",
Pris: 400
,
_id: 2,
Produkt: "hvit t-skjorte",
Antall: 10,
Størrelse: "Liten",
Status: "Ikke tilgjengelig",
Pris: 550
,
_id: 3,
Produkt: "Neon sko",
Antall: 5,
Størrelse: "Liten",
Status: "tilgjengelig",
Pris: 750
,
_id: 4,
Produkt: "Binder",
Antall: 20,
Størrelse: "stor",
Status: "Ikke tilgjengelig",
Pris: 350
,
_id: 5,
Produkt: "Formelle skjorter",
Antall: 17,
Størrelse: "stor",
Status: "tilgjengelig",
Pris: 400
])
MongoDB “Products” -samlingen er vellykket satt inn med de tidligere definerte dokumentene. Innsettingsdokumentmeldingen vises i det følgende. Nå kan vi bruke oppdateringsspørsmålet på disse dokumentene.
Eksempel 1: MongoDB oppdaterer dokumentet for samme felt
Tenk på eksemplet der oppdateringsspørsmålet brukes for å oppdatere gjeldende verdi med den nye. Update () -metoden brukes på MongoDB “Products” -samlingen. Update () -metoden sendes med "produkt" -tasten hvis verdi er satt som "formelle skjorter" i dokumentet. Vi ønsker å oppdatere verdien av dette "produkt" -feltet som vi gir den andre parameteren i Update () -metoden.
"$ Set: produkt:" jakke "" -uttrykk er den andre parameteren som setter den nye verdien for gjeldende verdi. $ Set -nøkkelordet brukes som tar feltnavnet "produkt" og angir den oppdaterte "jakker" -verdien mot det. Husk den tingen at datatypene for verdien av det spesifiserte feltet skal være den samme i samlingen.
db.Produkter.Oppdatering (produkt: "Formelle skjorter", $ set: produkt: "jakker")
I utdataene indikerer MatchedCount dokumentene som samsvarer med kriteriene, og ModifiedCount viser antall oppdaterte dokumenter.
Vi bekrefter at verdien er oppdatert i samlingen. For dette kaller vi Find () -metoden og setter inn “_id” -verdien til “5” i det oppdaterte dokumentet.
db.Produkter.finn (_ id: 5)
"Jakker" -verdien er oppdatert i dokumentene som vist i følgende:
Eksempel 2: MongoDB oppdaterer dokumentet for de forskjellige feltene
Deretter oppdaterer vi dokumentet med de forskjellige feltene. Tenk på følgende spørsmål der vi bruker oppdateringsmetoden () og oppgi tilstanden i den for å oppdatere dokumentet. Her oppdaterer vi dokumentet som har "_id" som "1". Så _id -feltet med verdien er satt som den første parameteren. Deretter har vi $ set nøkkelordet som tar "produkt" -feltet som får en ny verdi som "blå jeans".
db.Produkter.Oppdater(
"_id": 1,
$ set: "produkt": "blå jeans");
De sanne resultatene genereres med detaljene om at verdien blir oppdatert til den spesifiserte nøkkelen. Oppdateringsmetoden () metoden evaluerer først tilstanden og angir den endrede verdien med $ Set -nøkkelordet.
Den oppdaterte verdien av “_ID: 1” er sjekket fra “Produkt” -samlingen ved å bruke følgende spørsmål:
Utgangen bekrefter at "Blue Jean" -verdien er oppdatert med "Black Jeans" i dokumentet.
Eksempel 3: MongoDB oppdaterer dokumentet for flere felt
For å endre flere dokumenter om gangen, må metoden for oppdatering () være spesifisert med flere alternativer. I følgende eksempel bruker vi oppdatering () -metoden som legger inn "_id" -feltet hvis verdi er "2". Vi ønsker at dette dokumentet skal endres med de nye verdiene. Deretter har vi en $ set -modifikator som oppdaterer verdiene til de to feltene, "størrelse" og "pris", med de nyordnede verdiene.
db.Produkter.Oppdatering (_id: 2, $ set: "størrelse": "stor", "pris": 450)
Verdiene for størrelsen og prisfeltene er endret i dokumentet som vi viser ved å kjøre Find Query på skallet.
Eksempel 4: MongoDB oppdaterer dokumentet ved hjelp av UpdateOne () -metoden
UpdateOne () -metoden er en annen måte å oppdatere et dokument i samlingen. Vi kan oppdatere bare ett dokument i en samling som oppfyller de gitte søkekriteriene. Selv om utallige dokumenter oppfyller kriteriene, oppdaterer det bare den første. Følgende spørring bruker UpdateOne () -metoden for å oppdatere dokumentet. Vi gir “Antall: 17” som filterkriterier. UpdateOne () -metoden finner dokumentet hvis "Qty" er "17". Deretter setter den neste parameteren "Status" -feltet med "Not-tilgjengelig" -verdien ved å bruke $ SET-operatøren for å oppdatere det matchede dokumentet.
db.Produkter.UpdateOne (Qty: 17, $ set: Status: "Not-tilgjengelig")
Utførelsen av denne oppdateringsforespørselen bekrefter at verdien er oppdatert i det matchede dokumentet.
Vi ser også det oppdaterte dokumentet ved å utføre Find Query.
Eksempel 5: MongoDB oppdaterer dokumentet med $ Inc -operatøren
Alle de forrige spørsmålene. Men oppdateringsmetoden har forskjellige operatører når du oppdaterer et dokument. Her bruker vi $ Inc -operatøren til å oppdatere dokumentet. $ Inc -operatøren bruker den økte verdien mot den spesifiserte nøkkelen. Vi gir et spørsmål om å oppdatere dokumentet med $ Inc -operatøren. Oppdateringsmetoden () samsvarer med dokumentet hvis "produkt" -feltet har "bånd" -verdien og økte deretter verdien av "Qty" -feltet til "50" med "$ Inc" -operatøren.
db.Produkter.UpdateOne (Produkt: "Ties", $ inc: quy: 50)
Dokumentet blir matchet og verdien endres med suksess som vist i følgende bilde:
Det matchede dokumentet søkes deretter spesielt for å se den nye økte verdien som er oppdatert som vist i følgende utgangsbilde:
EKSEMPEL 6: MongoDB oppdaterer dokumentet med operatøren på $
Nå bruker vi $ Rename -operatøren av Update () -metoden. Denne operatøren oppdaterer felttittelen fra gjeldende navn på det spesifiserte feltet. La oss få følgende spørsmål om oppdateringsmetoden. Update () -metoden tar betingelsen for å finne dokumentet til "produkt" -feltet hvis verdi er "bånd". Når dokumentet er funnet, bruker metoden oppdatering (). Operatøren på $ Rename tar navnet på "Status" -feltet som må omdøpes sammen med det modifiserte navnet på "lager" -feltet.
db.Ansatt.Oppdatering ("Produkt": "Ties",
$ Rename: "Status": "Stock")
Det modifiserte "aksjen" -feltet er oppdatert i det spesifiserte dokumentet i utfallet av forrige spørring.
Det matchede dokumentet blir deretter søkt ved å spesifisere spørringen som viser det oppdaterte feltnavnet.
Eksempel 7: MongoDB oppdaterer dokumentet med $ Unset -operatøren
Deretter tar vi et eksempel på en $ useset operatør som brukes til å eliminere de spesifiserte feltene fra dokumentet. I den følgende illustrasjonen bruker vi $ Unset -operatøren i oppdateringsmetoden () som fjerner "størrelse" og "QTY" -feltene fra dokumentet hvis "_id" er "4".
db.Produkter.Oppdater(
_id: 4,
$ unset: størrelse: "", qty: ""
Det matchede dokumentet oppdateres etter utførelsen av den forrige UNSET -spørringen.
Det kan sees i skallet at det matchede dokumentet er fjernet med de usikre "størrelsen" og "Qty" -feltene.
Konklusjon
Denne guiden til MongoDB utforsker oppdateringsmetoden () som brukes til å oppdatere dokumentet. Vi kan oppdatere de forskjellige feltene ved å påkalle oppdateringsmetoden () i spørringen. Vi introduserte også UpdateOne () -metoden som bare oppdaterer et individuelt dokument. Vi kan bruke UpdateMany () -metoden hvis vi er pålagt å oppdatere flere dokumenter om gangen. Videre brukte vi de forskjellige operatørene av Update () -metoden for å oppdatere dokumentet deretter.