Innholdsfortegnelse
Nettapplikasjoner fokuserer vanligvis på fire grunnleggende operasjoner de må utføre mot sitt utholdenhetssystem eller Databaser, disse operasjonene anses som viktige når de lærer å utvikle seg for dette miljøet, refererer vi til Opprett, les, oppdater og slett også kjent som ULIK for forkortelsen på engelsk.MongoDB takk til sjåføren for PHP, lar oss utføre disse fire operasjonene på en veldig enkel måte, men å være leder for Ikke-relasjonelle databaser, kan vi ikke falle inn i feilen med å behandle alle ting som om vi brukte et relasjonssystem som f.eks MySQL eller PostgreSQL.
KravFor å følge denne opplæringen må vi ha en versjon av MongoDB i vårt testmiljø, i tillegg til å ha lastet ned og aktivert den tilsvarende driveren for PHP, for mer informasjon om hvordan du oppfyller disse kravene, kan du ta en titt på følgende opplæring.
MongoDB ble skapt for å være veldig effektiv i transaksjoner og operasjoner, på denne måten kan du løse problemer i virkeligheten uten å miste ytelse. EN ULIK krever ikke mye prosessorkraft i seg selv, men når tusenvis av forespørsler oppstår hos oss Database på kort tid er der vi kan se hvordan MongoDB hjelper oss med å opprettholde ytelsen.
Samlinger og dokumenter er veldig kraftige enheter, siden vi mangler en definert struktur, kan vi lagre dataene vi ønsker, for å opprettholde et rent og ryddig bilde, i tillegg kan vi få tilgang til data i enkle spørsmål som i relasjonsmodeller kan ta mellomliggende spørsmål til oss. Mange tabeller.
De Databaser i MongoDB er kjent som samlinger, derfor kan vi ikke behandle dem som Databaser tradisjonelt, om ikke som et sett med dokumenter som er gruppert under en differensiator med et navn.
Oppretter samlingFor å lage en samling trenger vi ingen spesiell kommando, bare med den samme kommandoen som vi velger den hvis den ikke eksisterer, MongoDB Det vil være ansvarlig for å lage en ny med navnet vi har spesifisert.
Denne enkelheten gjør arbeidet vårt enklere, i tillegg til å redusere mengden kode vi må plassere i applikasjonene våre. La oss se på det følgende bildet en eksempelkode som vi kan velge en samling i MongoDB:
Her ser vi hvordan vi først lager klasseobjektet Mongo (), dette er inkludert når du installerer den tilsvarende driveren, deretter ganske enkelt ved å bruke objektet og skrive inn et navn på Database er valgt eller opprettet. På dette tidspunktet må vi være forsiktige siden MongoDB det vil ikke returnere en feil hvis Database den eksisterer ikke, den vil bare opprette en ny, så vi må gjøre en dobbeltsjekk av navnene vi skriver.
Endelig kan vi lage en samling inne i Database kalt retninger, og med dette vil vi ha grunnlaget for å utføre operasjonene våre ULIK.
For å utføre de andre operasjonene i ULIK Vi må først ha data, det er derfor det første vi vil lære er å lage dokumenter eller lage postinnlegg, slik det passer best for vårt tekniske språk.
Takk til sjåføren MongoDBVi må ganske enkelt lage et arrangement eller matrise, med strukturen og nødvendige data for vår nye post og deretter kalle metoden sett inn () tilkoblingsmetode. Vi trenger ikke å ha en definert struktur eller følge et mønster for den. Hvis et dokument har et felt og et annet ikke, påvirkes ikke prosessen.
La oss se på følgende bilde kildekoden som forklarer den ovennevnte prosessen:
Det er et alternativ til metoden sett inn () og er metoden lagre (), forskjellen er at lagre () hvis en unik identifikator er spesifisert og den eksisterer, vil den eksisterende posten bli oppdatert med de nye dataene.
I utviklermiljøet foreslår de å jobbe mer med lagre () hva med sett inn () for å generere kode som kan gjenbrukes, men avgjørelsen er i hendene på hver enkelt.
Som standard er innsettingsmetoden i MongoDB er asynkron, betyr dette at mens Database du setter inn eller oppdaterer posten PHP den fortsetter henrettelsen uten å krasje. Resultatet av denne oppførselen er at applikasjonen kjører raskere, selv om databasemotoren ikke gjør det.
Siden denne oppførselen ikke alltid kommer til å være nyttig for oss, kan vi tvinge den til å oppføre seg synkront ved å sende parameteren sikker Når du utfører operasjonen, vil dette forårsake PHP vent på svar fra MongoDB før du fortsetter utførelsen av instruksjonene. Parameterstrukturen sikker er følgende:
$ collection-> insert ($ address, array ('safe' => true));
Som standard og med mindre vi spesifiserer noe annet, MongoDB genererer automatisk hovednøklene til dokumentene under navnet _id, når du lager en sett inn () synkront settes nøkkelen og plasseres i matrisen vi nettopp satte inn.
Så hvis vi vil vite hva den unike identifikatoren er, trenger vi bare å konsultere denne egenskapen til matrisen, hvis vi følger det forrige eksemplet, ville det bare være nok å gjøre følgende:
$ id = $ collection ['_ id'];
Vi går nå videre til den andre operasjonen, som er å lese informasjonen vi har i våre dokumenter eller Databaser. Her kan vi gjøre forespørsler om hovednøkkelen direkte eller for en hvilken som helst annen kombinasjon av egenskapene til dokumentet vårt.
For å gjøre søket bruker vi ganske enkelt metoden Finn én () og til dette skal vi passere en matrise med alle elementene som vi skal filtrere. La oss se på det følgende bildet en spørring som bruker en primærnøkkel og en annen som bruker andre dokumentegenskaper:
Hvis vi legger merke til her, for å søke etter primærnøkkel, er det første vi gjør å lage et objekt av typen MongoId og du er overrasket over verdien av det, dette er nøkkelen for at alt skal fungere skikkelig. På den annen side, når du søker etter egenskaper, er det bare nok å plassere verdien inne i matrisen uten å måtte lage objekter.
Misligholde MongoDB det vil returnere hele dokumentet når det har funnet en samsvar, så hvis vi ikke vil ha mer enn én eller noen få data fra det, må vi spesifisere det i en andre parameter som er en matrise med egenskapene eller feltene vi vil ha , la oss se i følgende kode hvordan dette kan gjøres:
$ result = $ collection-> findone (array ('_id' => $ id), array ('fornavn', 'etternavn'));
Når du plasserer den forrige koden, vil resultatvariabelen ha en matrise som bare inneholder for- og etternavnegenskapene til dokumentet som samsvarer med søkekriteriene.
Vi går nå til den tredje operasjonen, dette er for å oppdatere et dokument som allerede er opprettet i samlingen vår, her må vi være forsiktige, for hvis vi ikke plasserer det riktige skjemaet, kan vi ende opp med å overskrive originaldokumentet i stedet for å oppdatere eller legge til en eiendom .
For å unngå forvirring anbefales det å bruke $ sett som er en operatør som forteller MongoDB at hvis parameteren eksisterer, vil den bli oppdatert med verdien som er sendt, og hvis den ikke eksisterer, vil den bli opprettet. Dette gjør at vi kan unngå feil i applikasjonen vår og enda bedre gir oss muligheten til å gi appen vår ønsket funksjonalitet. La oss se hvordan dette fungerer:
FORSTØRRE
Vi har da innsett hvordan vi kan endre verdien av byeiendommen i dette tilfellet, men hvis den ikke eksisterte i registret, ville den bli generert uten å endre det som allerede eksisterer der.Det er noe spesielt vi kan gjøre i MongoDB og det kan ikke gjøres i en relasjonsmotor, og det er muligheten for legg til matriser i dokumentene våreMed dette kan vi legge til lister over verdier i en eiendom slik at vi kan generere stadig mer komplekse og komplette dokumenter for våre behov, alt uten å måtte påvirke den generelle strukturen til andre dokumenter som sameksisterer i samme samling.
Dette er den siste operasjonen, sletting er veldig enkelt, nesten like mye eller mer enn å legge til eller oppdatere, vi ser bare etter et kriterium eller slettingsfilter, laster det inn i en matrise og kjører metoden ta vekk ().
Det eneste vi må huske på er det MongoDB vil slette alle dokumentene som samsvarer med dette kriteriet, det er derfor hvis vi bare vil slette ett, må vi bruke eiendommen bare én og legg den inn ekte. La oss se nedenfor koden for å slette et dokument:
Med dette fullfører vi denne opplæringen, vi har sett på en grunnleggende, men funksjonell måte, hvordan vi kan inkludere en ULIK på en ikke-relasjonell struktur som MongoDB fra PHP. Hvis vi kan mestre dette, lager vi høy ytelse og veldig fleksible applikasjoner som vil hjelpe oss å imponere brukerne våre.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng