MongoDB $ sett operatør

MongoDB $ sett operatør

Hvis du er en hyppig bruker av andre databaser som Oracle og SQL, må du ha en ide om syntaks for spørsmål som brukes til å oppdatere de allerede innsatte postene i disse databasene. MongoDB bruker også noen oppdateringsspørsmål, men disse spørsmålene er ganske forskjellige i forhold til de andre databasene. I MongoDB bruker oppdateringsinstruksjonene “$ set” -operatøren av MongoDB for å spesielt erstatte den gamle verdien med en ny verdi eller for å legge til et nytt felt i en enkelt post. Denne guiden hjelper deg med å bruke alle disse "Sett inn" -funksjonsspørsmål for å oppdatere et enkelt felt eller flere felt i en post ved hjelp av "$ set" -operatøren.

Eksempel 1:

Når vi kommer med den første illustrasjonen av MongoDB, dekker vi bruken av "$ set" -operatøren for å oppdatere de enkle postene i en database. For dette prøver vi "Sett inn ()" -funksjonen til MongoDB for å legge til en enkelt oversikt over tre datafelt.

Test> DB.ny.Sett inn ("Id": 01, "Navn": "Pita", "Alder": 30)

Etter å ha lagt til den første enkeltoppføringen, bruker vi Find () -funksjonen sammen med "foreach ()" -funksjonen for å vise den innsatte verdien.

Test> DB.ny.finne().Foreach (Printjson)

Nå bruker vi UpdateOne () -funksjonen for å oppdatere "Navn" -feltet fra den innsatte posten ved hjelp av "$ set" -operatøren. Sørg for å nevne "ID" -feltet som et unikt felt, spesielt når du har mer enn 1 post i en database å skille.

Test> DB.ny.UpdateOne ("id": 01, $ set: "name": "peter")

Etter å ha oppdatert en post ved hjelp av "$ set" -operatøren, prøver vi "find ()" -funksjonen igjen i MongoDB -skallet for å se om oppdateringen fungerte eller ikke.

Test> DB.ny.finne().Foreach (Printjson)

Det viser seg at oppdateringen er vellykket av den "sett" -operatøren av MongoDB.

Eksempel 2:

Etter å ha gått gjennom de enkle illustrasjonene av å oppdatere MongoDB -postene gjennom $ SET -operatøren, flytter vi ett skritt fremover. I denne illustrasjonen oppdaterer vi de nestede array -postene (dokumentene) til en hvilken som helst database som er bosatt i MongoDB. For dette skal databasen vår ha minst en slik post som inneholder en matrise- eller dokumenttype-post i den. Derfor brukes følgende "Insertone ()" -kommando av MongoDB på skallet for å legge til en ny post til en "test" -database. Denne posten inneholder totalt 3 datafelt. "Data" -feltet er et dokumenttype og "EDU" -feltet er en matrise.

Test> DB.test.Insertone (id: 01, data: navn: "johny", alder: 34, edu: ["Matric", "fsc"])

Etter å ha lagt til en post, legger vi til en annen post i "Test" -databasen med den samme metoden i Insertone () -funksjonsspørsmålet. Begge disse postene er lagt til vellykket.

Test> DB.test.INSERTONE (Id: 02, Data: Navn: "Elsa", alder: 29, Edu: ["FSC", "BS"])

Nå som disse postene er lagt til, la oss sjekke dem i vår MongoDB ved å bruke Find () -funksjonen sammen med FOREACH () -funksjonen, ta "Printjson" som et argument for å presentere databasedataene i JSON -format. To poster vises som inneholder matrise og dokument.

Test> DB.test.finne().Foreach (Printjson)

Eksempel 3:

Nå oppdaterer vi den andre posten fra "Test" -databasen som blir lagt til først via "Set" -operatøren av MongoDB. Derfor blir "oppdatering" -funksjonen støpt i MongoDB CLI for dette formålet. "$ Set" -operatøren brukes her for å oppdatere "dato" -feltet i denne posten. For å oppdatere det aktuelle feltet, må du sørge for å oppdatere alle barnefeltene, fordi hvis du hopper over noe barnefelt, fjerner det det som en oppdatering og vil ikke vise det igjen. Derfor oppdaterer vi "Navnet" og "alder" -feltene fra "data" -dokumentet til den andre posten.

Test> DB.test.Oppdatering (id: 2, $ set: data: name: "maya", alder: 33))

Etter å ha prøvd Find () -kommando -spørringen på MongoDB -skallet for å vise posten til en database, får vi den oppdaterte posten satt av "$ set" -operatøren til gjengjeld som nettopp brukes tidligere. Navnet “Elsa” erstattes av “Maya” og alderen “29” erstattes med “33”. Du kan se fra utdataene at den første posten er uberørt under oppdateringen.

Test> DB.test.finne().Foreach (Printjson)

Innenfor forrige demonstrasjon oppdaterte vi bare nestet felt av dokumenttypen fra "Test" -databaseposten via "$ set" -operatøren. Nå oppdaterer vi feltet av array-typen i den samme databasen ved å bruke "$ set" -operatøren av MongoDB. Ved å bruke på samme måte bruker vi "UpdateOne" -funksjonen i stedet for "Update" -funksjonen for å oppdatere en enkelt post - den første posten til "Test" -databasen. Vi nevner feltet som brukes som "id" for en post og prøver "$ set" -operatøren for å oppdatere "data" -feltet og "edu" array-type felt begge på en gang på en gang. Etter utførelsen av følgende spørring oppdateres posten.

Test> DB.test.UpdateOne (id: 1, $ set: data: name: "Paul", alder: 30, edu: ["fa", "phd"])

Etter denne oppdateringen av "$ set" -operatøren, bruker vi den samme Find () -funksjonen med foreach () -funksjonen for å vise den oppdaterte posten på vårt MongoDB -skall i JSON -formatet. Denne 1st posten oppdateres perfekt uten feil i henhold til utdataene.

Test> DB.test.finne().Foreach (Printjson)

Det er en annen unik måte å oppdatere en databasepost av MongoDB. På denne måten inkluderer bruk av en "prikk" -karakter med feltnavnet og det nestede feltet for å oppdatere et bestemt barnefelt innen hovedfeltet. "$ Set" -operatøren brukes til å oppdatere verdien av "alder" -feltet fra hovedfeltet "data" i 1st rekord, fra 30 til 28. For dette prøver vi det spesifikke formatet til UpdateOne () -spørsmålet i "$ set" -operatøren som "Data.Alder ”: 28.

Test> DB.test.UpdateOne (id: 1, $ set: "data.Alder ": 28)

Etter oppdateringen av en post ved hjelp av den forrige metoden, viser vi den oppdaterte posten.

Test> DB.test.finne().Foreach (Printjson)

For å oppdatere en matrise i en post, må du nevne indeksnummeret til en bestemt post etter “Dot” -tegnet sammen med verdien som skal skilles med “:” ved hjelp av “SET” -operatøren.

Test> DB.test.Oppdatering (id: 1, $ set: "Data.Alder ": 33," Edu.1 ":" PhD ")

Oppdateringen gjenspeiles i databasen "Test". Vi fant den nye verdien i kolonnen.

Test> DB.test.finne().Foreach (Printjson)

Konklusjon

Denne artikkelen hjelper deg med å bruke "$ set" -operatøren mens du jobber i miljøet til MongoDB. Det forklarer bruken av "$ set" -operatøren i oppdateringsinstruksjonen til MongoDB innen introduksjonen. Etter det blir tre forskjellige, men likevel veldig enkle å implementere eksempler på å oppdatere et enkelt felt med en verdi, oppdatere et multi-verdsatt felt, og et felt med array-type verdier i en MongoDB-database ved å bruke “$ Set” operatør.