PHP mit mongoDB verbinden

Die NoSQL- Datenbanken haben in den letzten Jahren eine große Relevanz erlangt. Ihr skalierbares Design und die Möglichkeit, die Strukturen unabhängig voneinander zu verwalten, machen sie zu einer Alternative für die neuen Entwicklungsformen, die auf der Welt stattfinden.

Aus diesem Grund müssen wir bedenken, dass es eine Tatsache ist, dass wir bald wissen müssen, wie man mit ihnen umgeht, da wir jetzt wissen, wie man mit traditionellen Datenbanken umgeht . Dazu müssen wir uns über traditionelle Sprachen wie das weithin bekannte PHP mit ihnen verbinden .

Eine der beliebtesten NoSQL-Datenbankengines ist mongoDB , da es sich um eine einfache Installation und eine Community in der Entwicklung handelt, die es uns ermöglicht, mit einfachen Suchen im Internet in kurzer Zeit viel zu lernen.

Installation von MongoDB
Als Erstes müssen wir den MongoDB- Server installieren. Damit erhalten wir die Datenbank- Engine, mit der wir unsere neuen NoSQL-Datenbanken verwalten können . Als neuer Motor wurde so konzipiert, dass er auf mehreren Plattformen installiert werden kann. Wir werden erklären, wie es in zwei der wichtigsten Betriebssysteme von Windows und Linux in seiner Ubuntu- Version gemacht wird.

Installation in Ubuntu

Um mongoDB in Ubuntu zu installieren, müssen wir einige einfache Schritte ausführen , um das Paket zu aktivieren. Sobald wir diese Schritte ausgeführt haben, können wir apt-get normal installieren.

– Primero debemos importar la llave pública, para ello abriremos una nueva consola o terminal y escribiremos el siguiente comando: 1 – Zuerst müssen wir den öffentlichen Schlüssel importieren, dafür öffnen wir eine neue Konsole oder ein neues Terminal und schreiben den folgenden Befehl:

 sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com:80 --recv 7F0CEB10 

– Luego debemos añadir un archivo de lista para mongoDB , para ello debemos hacer lo siguiente: 2 – Dann müssen wir eine Listendatei für mongoDB hinzufügen , dazu müssen wir Folgendes tun:

 echo 'deb http: //downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list 

– Ahora finalmente podemos instalar el servicio, para ello primero actualizaremos nuestras dependencias y luego instalaremos el paquete: 3 – Jetzt können wir endlich den Dienst installieren, dafür werden wir zuerst unsere Abhängigkeiten aktualisieren und dann das Paket installieren:

 sudo apt-get update 

Sobald alles aktualisiert wurde, geben wir den Befehl zum Ausführen der Installation ein und haben damit bereits den MongoDB- Service in unserem System verfügbar:

 sudo apt-get install -y mongodb-org 

Installation unter Windows

Die Installation unter Windows ist einfacher, wir müssen nur sicherstellen, dass Windows Vista oder eine neuere Version installiert ist , da die neueste Version von mongoDB leider nicht mit Windows XP kompatibel ist .

Dann besuchen wir die offizielle Seite von mongoDB und wählen die Version aus, die unserer Betriebssystemkonfiguration am ehesten entspricht:

connect-php-with-mongoDB.jpg
Sobald die ausführbare Datei heruntergeladen wurde, installieren wir sie und führen die folgenden Schritte aus, damit der Dienst ordnungsgemäß gestartet werden kann:

– Debemos crear una carpeta de datos donde mongoDB pueda almacenar las colecciones de documentos de nuestras bases de datos, para ello desde la consola de comandos, con permisos de administrador, nos vamos a ubicar en el directorio adecuado y crearemos una nueva carpeta. 1 – Wir müssen einen Datenordner erstellen, in dem mongoDB die Sammlungen von Dokumenten in unseren Datenbanken speichern kann. Hierzu suchen wir mit Administratorrechten über die Befehlskonsole das entsprechende Verzeichnis und erstellen einen neuen Ordner. Dafür verwenden wir Folgendes:

 md  data  db 

– Luego de haber creado la carpeta debemos iniciar el servicio de mongoDB esto lo hacemos al ejecutar mongod.exe , la ruta debería ser similar a la siguiente, esto dependiendo de donde hayamos realizamos la instalación y la versión de mongoDB que tengamos: 2 – Nachdem wir den Ordner erstellt haben, müssen wir den mongoDB- Dienst starten. Dies geschieht beim Ausführen von mongod.exe . Der Pfad sollte in Abhängigkeit vom Installationsort und der Version von mongoDB wie folgt aussehen :

 C:  Programme  MongoDB 2.6 Standard  bin  mongod.exe 

Schauen wir uns das folgende Bild an, in dem wir feststellen, dass alles gut gelaufen ist, als die Konsole uns mitteilt, dass MongoDB auf neue Verbindungen wartet:

See also  UML - Aggregation und Zusammensetzung

connect-php-with-mongoDB2.jpg

Treiber für PHP installieren

Da wir unseren mongoDB- Dienst erfolgreich installiert haben , müssen wir nun PHP mitteilen, wie es mit ihm kommunizieren soll. Dazu müssen wir den entsprechenden Treiber herunterladen und in der php.ini als Erweiterung aktivieren.

Für Windows können wir den Treiber aus dem offiziellen mongoDB- Repository auf folgender Route herunterladen : s3.amazonaws.com/drivers.mongodb.org/php/index.html Wenn wir mehrere Optionen haben, müssen wir die neueste und stabilste auswählen.

Identifizieren Sie die Erweiterung
Sobald Sie die Datei heruntergeladen haben, entpacken Sie sie und suchen Sie die Erweiterung, die zu unserer PHP-Version passt. In meinem Fall verwende ich php_mongo-1.6.0RC2-5.4-vc9.dll und benenne sie in php_mongo.dll um.

Dann müssen wir die Datei in das Verzeichnis unserer Erweiterungen verschieben, das wäre:

 C:  wamp  bin  php  php5.4.12  ext 

Mit der hinzugefügten Erweiterung müssten wir nur die folgende Zeile in die php.ini einfügen : extension = php_mongo.dll

Schließlich starten wir unseren Server Apache neu und führen phpinfo () aus , um zu überprüfen, ob die Erweiterung aktiviert ist. Wir suchen mit STRG + F das Wort mongo und sehen die Informationen zu unserer Erweiterung:

connect-php-with-mongoDB3.jpg
Nach dieser Überprüfung sind wir bereit, mit PHP und MongoDB in unserer Windows- Umgebung zu arbeiten.

Treiber unter Linux installieren

Da Linux einige zusätzliche Schritte benötigt, müssen wir zuerst Pear installieren. Dazu führen wir in der Konsole oder im Terminal die folgenden Schritte aus:

 sudo apt-get installiere php5-dev php5-cli php-pear 

Dann fahren wir mit der Installation des Treibers fort, für den wir über die Konsole oder das Terminal die folgende Anweisung ausführen:

 sudo pecl mongo installieren 

Zuletzt müssen wir unsere php.ini öffnen und die Extension aktivieren:

 extension = mongo.so 

Damit können wir unseren Apache- Server neu starten und können mit der Arbeit an Linux beginnen .

Prinzipien von MongoDB

Auf technischer Ebene haben wir bereits genügend Konfigurationen vorgenommen, damit MongoDB und PHP kommunizieren können. Wir müssen jedoch ein wenig sehen, wie dieses Datenbankmodul funktioniert, um eine Vorstellung davon zu bekommen, was wir mit NoSQL erreichen können .

Sammlungen und Dokumente
Zunächst müssen wir wissen, dass es keine Tabellen, sondern Sammlungen gibt und Sie keine Aufzeichnungen, sondern Dokumente speichern. Dies gibt uns die Freiheit, dass es nicht erforderlich ist, eine starre Struktur zu befolgen, und dass jedes Dokument alle von Ihnen benötigten Daten enthalten kann.

Ein klassisches Beispiel ist das von Autoren und ihren Büchern . In einer relationalen Datenbank müssen wir eine Tabelle von Autoren erstellen, dann müssen wir eine Tabelle von Büchern erstellen und in letzterer müssen wir ein Feld haben, in dem wir jedem die ID oder die eindeutige Kennung des Autors zuordnen Buch, es ist nichts Besonderes und es ist ziemlich funktional.

Wie funktioniert mongoDB?
In mongoDB erstellen wir einfach eine Sammlung, die Autoren heißt, und jedes Dokument ist ein Autor. MongoDB ist für die automatische Erstellung eines eindeutigen Bezeichners verantwortlich. Wir können jedoch eine Eigenschaft hinzufügen, mit der wir jeden Autor auf unsere eigene Weise identifizieren können. Anschließend können wir innerhalb jedes Autors einen neuen erstellen Wenn wir also einen Autor haben möchten, der keine Bücher hat, konsultieren wir einfach das Dokument innerhalb der Sammlung, das nicht über die Bücher-Eigenschaft verfügt.

Dies zeigt, dass für Autoren und Bücher keine Beziehung besteht. Es gibt lediglich ein Dokument, das diesen Teil enthalten kann oder nicht. Tatsächlich ist es so vielseitig, dass wir einen Autor erstellen können, der eine Eigenschaft namens Kinderbücher enthält, und andere Autoren nicht Auf diese Weise müssen wir keine neuen Beziehungen oder Tabellen erstellen, sondern nur das Dokument der Sammlung.

See also  Mounten Sie einen WiFi-Hotspot und spionieren Sie mit Wireshark aus

PHP mit MongoDB verbinden

Nachdem wir uns bereits mit den Grundlagen von allem befasst haben, was wir wissen müssen, bevor wir uns mit PHP verbinden können, wollen wir uns ansehen , was wir brauchen:

  • Ein Server zum Ausführen von PHP , zum Beispiel Apache .
  • Der MongoDB- Dienst ist installiert und wartet aktiv auf Verbindungen.
  • Nach der Installation des PHP- Treibers für MongoDB .
  • Ein einfacher Texteditor und die Möglichkeit, den von uns geschriebenen PHP- Servercode auszuführen.

Verbindung testen

Als erstes müssen wir ein Objekt der MongoClient- Klasse erstellen. Dies sollte kein Problem sein, wenn wir den Treiber korrekt installiert haben. Mit diesem Objekt legen wir den Namen unserer Datenbank fest . In diesem Fall legen wir eine Bibliothek an und legen den Namen fest der Sammlung und jetzt können wir Daten einfügen, sehen wir uns den Quellcode dieses Beispiels an:

 <? php $ mongo = neuer MongoClient (); $ db = $ mongo-> library; $ collection = $ db-> artists; $ author = array ('authorid' => 1, 'name' => 'Dan Brown'); $ collection-> insert ($ author); $ author = array ('authorid' => 2, 'name' => 'Chuck Palahniuk'); $ collection-> insert ($ author); $ author = array ('authorid' => 3, 'name' => 'Max Brooks'); $ collection-> save ($ author); ?> 

Wir sehen, wie jeder der Datensätze, die tatsächlich Dokumente unserer Sammlung sind, in Form eines Arrays in unserem Programm erstellt wird. Dann übergeben wir dieses Array einfach an das Sammlungsobjekt und führen die Einfügemethode aus . Auf diese Weise können wir auf einfache Weise Daten in unser einfügen Auflistung in mongoDB , sehen wir in der folgenden Abbildung, wie nach der Ausführung unseres Codes auf unserem Server unsere Datenbank namens library generiert wird :

See also  ASP.NET MVC - Ereignisbehandlung im DOM mit jQuery

connect-php-with-mongoDB4.jpg

Lesen Sie die Daten der Sammlung

Da wir gesehen haben, wie einfach das Einfügen von Daten ist, werden wir jetzt eine kleine Abfrage durchführen und auf diese Weise demonstrieren, wie die Datenextraktion der Dokumente funktioniert.

Dazu stellen wir erneut die erforderlichen Verbindungen her, wie im vorherigen Beispiel. Jetzt verwenden wir jedoch die findOne () -Methode für das Auflistungsobjekt. Auf diese Weise können wir einige Eigenschaften des Dokuments in der Auflistung abrufen , z. B. den Autor Schauen wir uns den Code an, den wir erstellt haben:

 <? php $ mongo = neuer MongoClient (); $ db = $ mongo-> library; $ collection = $ db-> artists; $ author = array ('authorid' => 1, 'name' => 'Dan Brown'); $ collection-> insert ($ author); $ author = array ('authorid' => 2, 'name' => 'Chuck Palahniuk'); $ collection-> insert ($ author); $ author = array ('authorid' => 3, 'name' => 'Max Brooks'); $ collection-> save ($ author); $ documents = $ collection-> findOne (array ('authorid' => 2)); Echo "Daten der Konsultation: <br> <br>"; Echo "<b> Mongo-Primärschlüssel: </ b> {$ documents ['_ id']} <br>"; Echo "<b> Name des Autors: </ b> {$ documents ['name']}"; ?> 

Schließlich können wir die Ergebnisse wie ein Array durchgehen und einfach den Index jeder zu druckenden Eigenschaft angeben. Zusätzlich haben wir die Eigenschaft _id in das Beispiel aufgenommen, damit wir visualisieren können, wie mongoDB den Primärschlüssel oder das eindeutige Bezeichnerfeld generiert. Lassen Sie uns das Ergebnis in unserem Browser sehen, wenn wir unseren Code ausführen:

connect-php-with-mongoDB5.jpg

Webverwaltung

Es gibt einige Tools, mit denen wir die Administration unserer Datenbanken in mongoDB über das Web vornehmen können .

Einer von ihnen ist Dschingis . Dazu können wir einfach das Projekt in unser Verzeichnis www oder ein gleichwertiges Verzeichnis herunterladen oder klonen. Dort können wir eine Seite in localhost aufrufen und unsere Installation von mongoDB und seinen Daten sehen. Zum Abschluss schauen wir uns an, wie dieses nützliche Tool aussieht:

connect-php-with-mongoDB6.jpg
Nachdem wir dieses Tutorial beendet haben, haben wir bereits eine Basis, um in die Welt von NoSQL einzusteigen. Dies ist der aktuelle Trend bei der Verwaltung großer Datensammlungen. Viele mögen die Verbindung in PHP in Frage stellen, wenn sie Alternativen wie Node haben. js , die Antwort ist einfach, weil es viele Backend- Systeme in dieser Sprache gibt und wir mit diesem Wissen unsere lebenslangen Codes wiederverwenden können, während wir auf neue Technologien aktualisieren.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *