PHP-verbinding met mongoDB

Inhoudsopgave
De Geen SQL-databases ze hebben de laatste jaren een grote relevantie gekregen. Hun schaalbare ontwerp en de mogelijkheid om structuren op een niet-gerelateerde manier te beheren, maken ze een alternatief voor de nieuwe vormen van ontwikkeling die in de wereld plaatsvinden.
Daarom moeten we in gedachten houden dat het een realiteit is dat we binnenkort zullen moeten weten hoe we ermee moeten omgaan, zoals we nu weten hoe we ermee moeten omgaan. Databases traditionele talen, hiervoor zullen we verbinding met hen moeten maken via traditionele talen, zoals de algemeen bekende PHP.
Een van de motoren van Geen SQL-databases meest populaire is mongoDB, vanwege de eenvoudige installatie en een groeiende gemeenschap die ons in staat stelt om in korte tijd veel te leren met eenvoudige zoekopdrachten op internet.
MongoDB-installatieHet eerste wat we moeten doen is de server installeren mongoDB, hiermee krijgen we de motor van Database om onze nieuwe bases te kunnen beheren Geen SQL. Omdat het een nieuwe engine is, is hij zo ontworpen dat hij op verschillende platforms kan worden geïnstalleerd. We gaan uitleggen hoe je dit doet in twee van de belangrijkste besturingssystemen van vandaag ramen Y Linux in jouw versie Ubuntu.
Voor installatie: mongoDB in Ubuntu We moeten een paar eenvoudige stappen volgen om het pakket in te schakelen. Zodra deze stappen zijn voltooid, kunnen we apt-get install normaal gebruiken, laten we eens kijken.
1- Eerst moeten we de openbare sleutel importeren, hiervoor openen we een nieuwe console of terminal en schrijven de volgende opdracht:
sudo apt-key adv --keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- Dan moeten we een lijstbestand toevoegen aan mongoDB, hiervoor moeten we het volgende doen:
echo 'deb http: / /downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Nu kunnen we eindelijk de service installeren, hiervoor zullen we eerst onze afhankelijkheden bijwerken en vervolgens het pakket installeren:
sudo apt-get update

Zodra alles is bijgewerkt, plaatsen we het commando om de installatie uit te voeren en daarmee hebben we de service beschikbaar mongoDB in ons systeem:
sudo apt-get install -y mongodb-org

Installatie in ramen is eenvoudiger, we moeten er alleen voor zorgen dat we Windows Vista of iets nieuwer, aangezien helaas de laatste versie van mongoDB niet compatibel met Windows XP.
Vervolgens bezoeken we de officiële mongoDB-site en kiezen we de versie die het meest overeenkomt met onze besturingssysteemconfiguratie:

VERGROTEN

Nadat het uitvoerbare bestand is gedownload, installeren we het en voeren we de volgende stappen uit zodat de service correct kan starten:
1- We moeten een gegevensmap maken waarin: mongoDB kan de documentverzamelingen van onze databases opslaan, hiervoor gaan we vanaf de opdrachtconsole, met beheerdersrechten, in de juiste map zoeken en een nieuwe map maken. Hiervoor gebruiken we het volgende:
md \ data \ db

2- Nadat we de map hebben gemaakt, moeten we de service starten mongoDB we doen dit bij het uitvoeren mongod.exe, moet het pad vergelijkbaar zijn met het volgende, afhankelijk van waar we hebben geïnstalleerd en de versie van mongoDB dat we hebben:
C: \ Program Files \ MongoDB 2.6 Standard \ bin \ mongod.exe

Laten we eens kijken in de volgende afbeelding waar we ons realiseren dat alles goed is gegaan wanneer de console ons dat vertelt mongoDB wacht op nieuwe verbindingen:

Sinds we onze service met succes hebben geïnstalleerd mongoDB, nu moeten we vertellen PHP hoe u met hem moet communiceren, hiervoor moeten we het juiste stuurprogramma downloaden en activeren in de php.ini als uitbreiding.
Tot ramen we kunnen de driver downloaden van de officiële repository van mongoDB op het volgende pad: s3.amazonaws.com/drivers.mongodb.org/php/index.html waar we verschillende opties hebben, moeten we de meest recente en stabiele selecteren.
Identificeer de extensieNadat het bestand is gedownload, pakken we het uit en zoeken we naar de extensie die past bij onze versie van PHP, in mijn geval hoe ik de versie 5.4 ik zal gebruiken php_mongo-1.6.0RC2-5.4-vc9.dll en we hernoemen het als php_mongo.dll.
Vervolgens moeten we het bestand naar de map van onze extensies verplaatsen, wat zou zijn:
C: \ wamp \ bin \ php \ php5.4.12 \ ext

Met de toegevoegde extensie hoeven we alleen de toe te voegen php.ini de volgende regel: extensie = php_mongo.dll
Eindelijk we herstarten onze Apache-server en we voeren uit phpinfo () Om te controleren of de extensie is ingeschakeld, zoeken we met CTRL + F het woord mongo en we zullen de informatie van onze extensie zien:

VERGROTEN

Met dit geverifieerd zijn we klaar om mee te werken PHP Y mongoDB in onze omgeving ramen.
Tot Linux het kost een paar extra stappen, we moeten eerst installeren Peer, hiervoor doen we het volgende in de console of terminal:
sudo apt-get install php5-dev php5-cli php-pear

Vervolgens gaan we verder met het installeren van het stuurprogramma, om dit vanaf de console of terminal te doen, voeren we de volgende instructie uit:
sudo pecl mongo installeren

Eindelijk moeten we onze php.ini en activeer de extensie:
extensie = mongo.so

Hiermee kunnen we herstart onze server apache en we zijn klaar om aan de slag te gaan Linux.
We hebben al genoeg technische instellingen voor je gedaan om mongoDB Y PHP kan communiceren, maar we moeten een beetje zien hoe deze motor werkt Databases om een ​​idee te krijgen van wat we kunnen bereiken met de Geen SQL.
Collecties en documentenAllereerst moeten we weten dat er geen tafels zijn, maar collecties en je bent niet opgeslagen records maar documenten, dit geeft ons de vrijheid dat het niet nodig is om een ​​strakke structuur te volgen en dat elk document alle gegevens kan bevatten die u nodig heeft.
Een klassiek voorbeeld is dat van auteurs en hun boeken, in een Database relationeel moeten we een auteurstabel, dan moeten we een maken boekentafel en in het laatste moeten we een veld hebben waarin we de unieke id of identificatie van de auteur met elk boek associëren, het is niets om over naar huis te schrijven en het is behoorlijk functioneel.
Hoe werkt mongoDB?In mongoDB we zullen gewoon een maken verzameling auteurs genoemd en elk document zal een auteur zijn, mongoDB is verantwoordelijk voor het automatisch aanmaken van een unieke identifier, maar we kunnen een eigenschap toevoegen die ons helpt elke auteur op de juiste manier te identificeren, dan kunnen we binnen elke auteur een nieuwe woning boeken genoemd en daar zullen we al hun titels opslaan, dus als we een auteur willen die geen boeken heeft, raadplegen we gewoon het document dat de boekeneigenschap niet in de collectie heeft.
Dit laat zien dat er geen vaste relatie is tussen auteurs en boeken, er is gewoon een document dat dat deel al dan niet bevat, in feite is het zo veelzijdig dat we een auteur kunnen maken die een eigenschap bevat met de naam kinderboeken en die andere auteurs niet hebben, op deze manier hoeven we geen nieuwe relaties of tabellen te maken, alleen het collectiedocument heeft het.
We hebben al de juiste basis behandeld van alles wat we moeten weten voordat we contact kunnen maken met PHP, laten we eens kijken wat we nodig hebben:
  • Een server om te draaien PHP, bijvoorbeeld Apache.
  • De dienst mongoDB geïnstalleerd en actief wachten op verbindingen.
  • Heb de driver geïnstalleerd PHP tot mongoDB.
  • Een platte teksteditor en de mogelijkheid om op onze server te draaien PHP code die we schrijven.

Het eerste dat we moeten doen, is een object van de klasse maken MongoClient, dit zou geen probleem moeten zijn als we het stuurprogramma correct hebben geïnstalleerd, dan stellen we met dat object de naam van onze . vast Database, in dit geval zetten we bibliotheek, dan stellen we de collectienaam in en nu kunnen we gegevens invoegen, laten we de broncode van dit voorbeeld bekijken:
 bibliotheek; $ collectie = $ db-> auteurs; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collectie-> invoegen ($ auteur); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ collectie-> invoegen ($ auteur); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ collectie-> opslaan ($ auteur); ?> var13 -> 

We zien hoe elk van de records die eigenlijk zijn documenten uit onze collectie bouwen we ze in de vorm van reeks in ons programma, dan geven we die array gewoon door aan het object verzameling en we voeren de methode uit invoegen, dit geeft ons gemakkelijk de manier om gegevens in onze collectie in te voegen in mongoDB, laten we in de volgende afbeelding zien hoe na het uitvoeren van onze code op onze server, onze Database telefoongesprek bibliotheek:

VERGROTEN

Omdat we hebben gezien hoe gemakkelijk we de gegevens invoegen, gaan we nu een kleine query maken, op deze manier zullen we demonstreren hoe de gegevensextractie van de documenten werkt.
Hiervoor gaan we opnieuw de nodige verbindingen maken zoals in het vorige voorbeeld, maar nu gaan we de methode gebruiken vind een () met het object verzameling, op deze manier kunnen we zoeken naar een van de documenteigenschappen in de verzameling, zoals de auteur die we hadden gemaakt, laten we de code eens bekijken:
 bibliotheek; $ collectie = $ db-> auteurs; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collectie-> invoegen ($ auteur); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ collectie-> invoegen ($ auteur); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ collectie-> opslaan ($ auteur); $ documenten = $ collectie-> findOne (array ('autorid' => 2)); echo "Gegevens opvragen:
"; gooide uit "Mongo primaire sleutel: {$ documenten ['_ id']}
"; gooide uit "Auteursnaam: {$ documenten ['naam']} ";?> var13 ->

Eindelijk kunnen we door de resultaten gaan alsof het een array is en eenvoudig de index aangeven van elke eigenschap die we moeten afdrukken, bovendien hebben we de eigenschap in het voorbeeld opgenomen _ID kaart zodat we kunnen visualiseren hoe mongoDB genereert de primaire sleutel of het unieke identificatieveld. Laten we het resultaat in onze browser bekijken wanneer we onze code uitvoeren:

Er zijn enkele tools die we kunnen gebruiken om onze webpagina's te beheren. Databases in mongoDB.
Een daarvan is Genghis, hiervoor kunnen we het project eenvoudig downloaden of klonen in onze directory www of gelijkwaardig waar we een pagina naar binnen kunnen halen localhost en we kunnen onze installatie zien van mongoDB en uw gegevens, om af te ronden, laten we eens kijken hoe deze handige tool eruit ziet:

VERGROTEN

Hiermee hebben we deze tutorial afgerond, we hebben al een basis om de wereld van te kunnen betreden Geen SQL, wat in de huidige trend zit in het beheren van grote gegevensverzamelingen, zullen velen zich afvragen of de verbinding in PHP alternatieven hebben zoals node.js, is het antwoord simpel, want er zijn veel systemen van backend gemaakt in deze taal en met deze kennis kunnen we onze levenslange codes hergebruiken terwijl we onszelf updaten naar nieuwe technologieën.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave