PHP -tilkobling med mongoDB

Innholdsfortegnelse
De NoSQL -databaser de har tatt en stor relevans de siste årene. Deres skalerbare design og muligheten til å håndtere strukturer på en ikke -relatert måte gjør dem til et alternativ for de nye utviklingsformene som finner sted i verden.
Det er derfor vi må huske på at det er en realitet at snart må vi vite hvordan vi skal håndtere dem, slik vi nå vet hvordan vi skal håndtere dem. Databaser tradisjonelle språk, for dette må vi koble oss til dem gjennom tradisjonelle språk, for eksempel det allment kjente PHP.
En av motorene til NoSQL -databaser mest populær er mongoDB, på grunn av den enkle installasjonen og et utviklende fellesskap som lar oss lære mye på kort tid med enkle søk på Internett.
MongoDB installasjonDet første vi må gjøre er å installere serveren mongoDB, med dette får vi motoren til Database for å kunne administrere våre nye baser NoSQL. Siden det er en ny motor, er den designet slik at den kan installeres på forskjellige plattformer. Vi skal forklare hvordan du gjør det i to av de viktigste operativsystemene i dag Windows Y Linux i din versjon Ubuntu.
For installasjon mongoDB i Ubuntu Vi må følge noen få enkle trinn for å aktivere pakken. Når disse trinnene er utført, kan vi bruke apt-get install normalt, la oss se.
1- Først må vi importere den offentlige nøkkelen, for dette åpner vi en ny konsoll eller terminal og skriver følgende kommando:
sudo apt-key adv-keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- Da må vi legge til en listefil til mongoDB, for dette må vi gjøre følgende:
echo 'deb http: //downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Nå kan vi endelig installere tjenesten, for dette vil vi først oppdatere våre avhengigheter og deretter installere pakken:
sudo apt-get oppdatering

Når alt er oppdatert legger vi kommandoen for å utføre installasjonen, og med det vil vi ha tjenesten tilgjengelig mongoDB i vårt system:
sudo apt-get install -y mongodb-org

Installasjon i Windows er enklere, må vi bare sørge for at vi har det Windows Vista eller noe nyere, siden dessverre den siste versjonen av mongoDB ikke kompatibel med Windows XP.
Deretter besøker vi det offisielle mongoDB -nettstedet og velger den versjonen som passer best til operativsystemets konfigurasjon:

FORSTØRRE

Når den kjørbare filen er lastet ned, installerer vi den og deretter utfører vi følgende trinn slik at tjenesten kan starte riktig:
1- Vi må opprette en datamappe hvor mongoDB kan lagre dokumentsamlingene til databasene våre, for dette fra kommandokonsollen, med administratorrettigheter, skal vi finne i den riktige katalogen og opprette en ny mappe. Til dette bruker vi følgende:
md \ data \ db

2- Etter at vi har opprettet mappen, må vi starte tjenesten mongoDB vi gjør dette når vi utfører mongod.exe, banen skal være lik den følgende, avhengig av hvor vi har installert og versjonen av mongoDB som vi har:
C: \ Program Files \ MongoDB 2.6 Standard \ bin \ mongod.exe

La oss se på bildet nedenfor hvor vi innser at alt gikk bra når konsollen forteller oss det mongoDB vent på nye tilkoblinger:

Siden vi har installert tjenesten vår mongoDB, nå må vi fortelle PHP hvordan du skal kommunisere med ham, for dette må vi laste ned riktig driver og aktivere den i php.ini som en forlengelse.
Til Windows vi kan laste ned driveren fra det offisielle depotet for mongoDB i følgende bane: s3.amazonaws.com/drivers.mongodb.org/php/index.html der vi vil ha flere alternativer, må vi velge den siste og stabile.
Identifiser utvidelsenNår filen er lastet ned, pakker vi ut og ser etter utvidelsen som passer vår versjon av PHP, i mitt tilfelle hvordan jeg kjører versjon 5.4 jeg vil bruke php_mongo-1.6.0RC2-5.4-vc9.dll og vi omdøper det til php_mongo.dll.
Deretter må vi flytte filen til katalogen for utvidelsene våre som vil være:
C: \ wamp \ bin \ php \ php5.4.12 \ ext

Med den ekstra utvidelsen trenger vi bare å legge til php.ini følgende linje: forlengelse = php_mongo.dll
Endelig vi starter Apache -serveren på nytt og vi utfører phpinfo () For å bekrefte at utvidelsen er aktivert, søker vi med CTRL + F ordet mongo og vi vil se informasjonen om utvidelsen vår:

FORSTØRRE

Med denne verifiserte vil vi være klare til å jobbe med PHP Y mongoDB i miljøet vårt Windows.
Til Linux det tar et par ekstra trinn, vi må installere først Pære, for dette vil vi gjøre følgende i konsollen eller terminalen:
sudo apt-get install php5-dev php5-cli php-pear

Deretter fortsetter vi med å installere driveren, for å gjøre dette fra konsollen eller terminalen vil vi utføre følgende instruksjon:
sudo pecl install mongo

Til slutt må vi åpne vår php.ini og aktiver utvidelsen:
forlengelse = mongo.so

Med dette kan vi start serveren vår på nytt apache, og vi vil være klare til å begynne å jobbe med Linux.
Vi har allerede gjort nok tekniske innstillinger for deg mongoDB Y PHP kan kommunisere, men vi må se litt hvordan denne motoren fungerer Databaser for å få en ide om hva vi kan oppnå med NoSQL.
Samlinger og dokumenterFørst av alt må vi vite at det ikke er noen bord, men samlinger og du er ikke lagret poster, men dokumenter, dette gir oss friheten til at det ikke er nødvendig å følge en stiv struktur og at hvert dokument kan inneholde alle dataene du trenger.
Et klassisk eksempel er det forfattere og bøkene deres, i en Database relasjonelle må vi skape en forfatterens tabell, da må vi lage en bokbord og i sistnevnte må vi ha et felt der vi knytter forfatterens unike id eller identifikator til hver bok, det er ingenting å skrive hjem om, og det er ganske funksjonelt.
Hvordan fungerer mongoDB?I mongoDB vi vil bare lage en samling kalt forfattere og hver dokument vil være forfatter, mongoDB er ansvarlig for å lage en unik identifikator automatisk, men vi kan legge til en egenskap som hjelper oss med å identifisere hver forfatter på en skikkelig måte, så kan vi opprette i hver forfatter en ny eiendom kalt bøker, og der vil vi lagre alle titlene deres, så hvis vi vil ha en forfatter som ikke har bøker, konsulterer vi ganske enkelt dokumentet som ikke har bøkene i samlingen.
Dette viser at det ikke er et etablert forhold for forfattere og bøker, det er ganske enkelt et dokument som kanskje inneholder den delen, faktisk er den så allsidig at vi kan lage en forfatter som inneholder en egenskap som heter barnebøker og som andre forfattere ikke har, på denne måten trenger vi ikke å lage nye relasjoner eller tabeller, bare samlingsdokumentet vil ha det.
Etter å ha dekket de riktige grunnlagene for alt vi trenger å vite før vi kan koble til PHP, la oss se på hva vi trenger:
  • En server som skal kjøres PHP, for eksempel Apache.
  • Tjenesten mongoDB installert og aktiv venter på tilkoblinger.
  • Har installert driveren PHP til mongoDB.
  • En ren tekstredigerer og muligheten til å kjøre på serveren vår PHP kode vi skriver.

Det første vi må gjøre er å lage et objekt i klassen MongoClient, dette bør ikke være problemer hvis vi har installert driveren riktig, så med det objektet etablerer vi navnet på vår Database, i dette tilfellet legger vi bibliotek, så setter vi samlingsnavnet, og nå kan vi sette inn data, la oss se kildekoden til dette eksemplet:
 bibliotek; $ samling = $ db-> forfattere; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collection-> insert ($ author); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ collection-> insert ($ author); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ samling-> lagre ($ forfatter); ?> var13 -> 

Vi ser hvordan hver av postene som faktisk er dokumenter fra samlingen vår bygger vi dem i form av matrise i programmet vårt, så sender vi bare den matrisen til objektet samling og vi utfører metoden sett inn, dette gir oss lett måten å sette inn data i samlingen vår i mongoDB, la oss se på bildet nedenfor hvordan vi etter kjøring av koden vår på serveren vår Database anrop bibliotek:

FORSTØRRE

Siden vi har sett hvor enkelt vi setter inn dataene, skal vi nå lage en liten forespørsel, på denne måten vil vi demonstrere hvordan datautvinning av dokumentene fungerer.
For dette skal vi gjøre de nødvendige tilkoblingene igjen som i forrige eksempel, men nå skal vi bruke metoden Finn én () med objektet samlingPå denne måten kan vi spørre etter noen av dokumentegenskapene i samlingen, for eksempel forfatter som vi hadde opprettet, la oss se koden:
 bibliotek; $ samling = $ db-> forfattere; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collection-> insert ($ author); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ collection-> insert ($ author); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ samling-> lagre ($ forfatter); $ documents = $ collection-> findOne (array ('autorid' => 2)); echo "Forespørselsdata:
"; kastet ut "Mongo Primærnøkkel: {$ documents ['_ id']}
"; kastet ut "Forfatterens navn: {$ documents ['name']} ";?> var13 ->

Til slutt kan vi gå gjennom resultatene som om det var en matrise og ganske enkelt angi indeksen for hver eiendom vi må skrive ut, i tillegg har vi inkludert eiendommen i eksemplet _id slik at vi kan visualisere hvordan mongoDB genererer primærnøkkelen eller det unike identifikasjonsfeltet. La oss se resultatet i nettleseren vår når vi kjører koden vår:

Det er noen verktøy vi kan bruke til å administrere våre nettsider. Databaser i mongoDB.
En av dem er Genghis, for dette kan vi ganske enkelt laste ned eller klone prosjektet i katalogen vår www eller tilsvarende der vi kan løfte en side inn lokal vert og vi kan se vår installasjon av mongoDB og dataene dine. La oss se hvordan dette nyttige verktøyet ser ut for å fullføre:

FORSTØRRE

Med dette har vi fullført denne opplæringen, vi har allerede en base for å kunne komme inn i verden av NoSQL, som er i den nåværende trenden med å håndtere store datasamlinger, kan mange stille spørsmål ved å gjøre tilkoblingen PHP å ha alternativer som node.js, svaret er enkelt, fordi det er mange systemer av baksiden laget på dette språket og med denne kunnskapen vil vi kunne gjenbruke våre livslange koder mens vi oppdaterer oss til ny teknologi.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave