Inhaltsverzeichnis
Webanwendungen konzentrieren sich im Allgemeinen auf vier grundlegende Operationen, die sie für ihr Persistenzsystem ausführen müssen oder Datenbanken, diese Vorgänge gelten als Schlüssel, wenn Sie lernen, für diese Umgebung zu entwickeln, verweisen wir auf Erstellen, lesen, aktualisieren und löschen auch bekannt als CRUD für seine Abkürzung auf Englisch.MongoDB dank seines treibers für PHP, ermöglicht es uns, diese vier Operationen auf sehr einfache Weise durchzuführen, jedoch als Manager von Nicht relationale Datenbanken, können wir nicht den Fehler machen, alle Dinge so zu behandeln, als ob wir ein relationales System wie MySQL oder PostgreSQL.
AnforderungenUm diesem Tutorial folgen zu können, benötigen wir eine Version von MongoDB in unserer Testumgebung, zusätzlich zum Herunterladen und Aktivieren des entsprechenden Treibers für PHP, für weitere Informationen zur Erfüllung dieser Anforderungen können Sie sich das folgende Tutorial ansehen.
MongoDB wurde entwickelt, um bei Transaktionen und Operationen sehr effizient zu sein, auf diese Weise können Sie reale Probleme lösen, ohne an Leistung zu verlieren. EIN CRUD erfordert nicht viel Rechenleistung an sich, aber wenn Tausende von Anfragen an unsere Datenbank in kurzer Zeit können wir sehen wie MongoDB hilft uns, die Leistungsfähigkeit zu erhalten.
Sammlungen und Dokumente sind sehr mächtige Einheiten, da wir ohne eine definierte Struktur die gewünschten Daten speichern können, um ein sauberes und geordnetes Bild zu erhalten, außerdem können wir auf Daten in einfachen Abfragen zugreifen, die in relationalen Modellen Zwischenabfragen an uns stellen könnten.
Das Datenbanken In MongoDB werden als Sammlungen bezeichnet, daher können wir sie nicht als Datenbanken traditionell, wenn nicht als eine Menge von Dokumenten, die unter einem Unterscheidungsmerkmal mit einem Namen gruppiert sind.
Sammlung erstellenUm eine Sammlung zu erstellen, brauchen wir keinen speziellen Befehl, einfach mit dem gleichen Befehl, den wir auswählen, wenn es nicht existiert, MongoDB Es wird dafür verantwortlich sein, ein neues mit dem von uns angegebenen Namen zu erstellen.
Diese Einfachheit erleichtert unsere Arbeit und reduziert zusätzlich die Menge an Code, die wir in unsere Anwendungen einfügen müssen. Sehen wir uns im folgenden Bild einen Beispielcode an, mit dem wir eine Sammlung in auswählen können MongoDB:
Hier sehen wir, wie wir zuerst das Klassenobjekt erstellen Mongo (), dies ist bei der Installation des entsprechenden Treibers enthalten, dann einfach durch Verwenden des Objekts und Eingeben eines Namens von Datenbank ist ausgewählt oder erstellt. An dieser Stelle müssen wir vorsichtig sein, da MongoDB Es wird kein Fehler zurückgegeben, wenn die Datenbank es existiert nicht, es wird nur ein neues erstellt, also müssen wir die Namen, die wir schreiben, noch einmal überprüfen.
Endlich können wir eine Sammlung innerhalb der erstellen Datenbank Wegbeschreibungen genannt, und damit haben wir die Grundlage, auf der wir unsere Operationen ausführen können CRUD.
Um die anderen Operationen des CRUD Wir müssen zuerst über Daten verfügen, deshalb lernen wir als erstes, Dokumente zu erstellen oder Akteneinlagen zu erstellen, wie es unserer Fachsprache am besten entspricht.
Danke an den Fahrer MongoDBWir müssen nur ein Arrangement oder Array erstellen, mit der Struktur und den notwendigen Daten für unseren neuen Datensatz und dann die Methode aufrufen Einfügung () Verbindungsmethode. Wir müssen dafür keine definierte Struktur haben oder einem Muster folgen, wenn ein Dokument ein Feld hat und ein anderes nicht, wird der Prozess nicht beeinflusst.
Sehen wir uns im folgenden Bild den Quellcode an, der den oben genannten Vorgang erklärt:
Es gibt eine Alternative zur Methode Einfügung () und ist die Methode speichern (), der unterschied ist das speichern () Wenn ein eindeutiger Bezeichner angegeben ist und dieser vorhanden ist, wird der vorhandene Datensatz mit den neuen Daten aktualisiert.
In der Entwickler-Community schlagen sie vor, mehr mit zu arbeiten speichern () was mit Einfügung () Code zu generieren, der wiederverwendet werden kann, die Entscheidung liegt jedoch bei jedem.
Standardmäßig ist die Einfügemethode in MongoDB asynchron ist, bedeutet dies, dass während der Datenbank Sie fügen den Datensatz ein oder aktualisieren ihn PHP es setzt seine Ausführung ohne Absturz fort. Das Ergebnis dieses Verhaltens ist, dass die Anwendung schneller ausgeführt wird, selbst wenn die Datenbank-Engine dies nicht tut.
Da dieses Verhalten für uns nicht immer nützlich sein wird, können wir es erzwingen, dass es sich synchron verhält, indem wir den Parameter übergeben sicher bei der Ausführung des Vorgangs führt dies zu PHP warte auf die antwort von MongoDB bevor Sie mit der Ausführung seiner Anweisungen fortfahren. Die Parameterstruktur sicher ist das Folgende:
$ Sammlung-> Einfügen ($ Adresse, Array ('safe' => true));
Standardmäßig und sofern wir nichts anderes angeben, MongoDB generiert automatisch die Primärschlüssel der Dokumente unter dem Namen _Ich würde, wenn man a . macht Einfügung () synchron wird der Schlüssel gesetzt und in das gerade eingefügte Array eingefügt.
Wenn wir also wissen wollen, was der eindeutige Bezeichner ist, müssen wir nur diese Eigenschaft des Arrays konsultieren. Wenn wir dem vorherigen Beispiel folgen, würde es nur ausreichen, Folgendes zu tun:
$ id = $ Sammlung ['_ id'];
Wir gehen nun zur zweiten Operation über, die darin besteht, die Informationen zu lesen, die wir in unseren Dokumenten haben oder Datenbanken. Hier können wir direkt nach dem Primärschlüssel oder nach einer anderen Kombination von Eigenschaften unseres Dokuments abfragen.
Für die Suche verwenden wir einfach die Methode einen finden () und dazu übergeben wir ein Array mit allen Elementen, die wir filtern werden. Sehen wir uns in der folgenden Abbildung eine Abfrage mit einem Primärschlüssel und eine andere mit anderen Dokumenteigenschaften an:
Wenn wir hier bemerken, dass wir nach Primärschlüssel suchen, erstellen wir als erstes ein Objekt vom Typ MongoId und Sie sind erstaunt über den Wert, dies ist der Schlüssel dafür, dass alles richtig funktioniert. Andererseits reicht es bei der Abfrage von Eigenschaften nur aus, den Wert innerhalb des Arrays zu platzieren, ohne dass Objekte erstellt werden müssen.
Standard MongoDB es wird das komplette Dokument zurückgeben, sobald es eine Übereinstimmung gefunden hat. Wenn wir also nicht mehr als ein oder wenige Daten daraus haben möchten, müssen wir es in einem zweiten Parameter angeben, der ein Array der gewünschten Eigenschaften oder Felder ist , sehen wir uns im folgenden Code an, wie dies möglich ist:
$ result = $ collection-> findone (array ('_id' => $ id), array ('vorname', 'nachname'));
Beim Platzieren des vorherigen Codes hat die Ergebnisvariable ein Array, das nur die Vor- und Nachnameneigenschaften des Dokuments enthält, das den Suchkriterien entspricht.
Wir gehen nun zum dritten Vorgang, der darin besteht, ein bereits in unserer Sammlung erstelltes Dokument zu aktualisieren. Hier müssen wir vorsichtig sein, denn wenn wir nicht das richtige Formular platzieren, können wir das Originaldokument überschreiben, anstatt eine Eigenschaft zu aktualisieren oder hinzuzufügen .
Um Verwechslungen zu vermeiden, wird empfohlen, zu verwenden $ eingestellt das ist ein Operator, der sagt MongoDB dass, wenn der Parameter existiert, er mit dem gesendeten Wert aktualisiert wird, und wenn er nicht existiert, wird er erstellt. Dadurch können wir Fehler in unserer Anwendung vermeiden und noch besser unserer Anwendung eine gewünschte Funktionalität zur Verfügung stellen. Mal sehen, wie das funktioniert:
VERGRÖSSERN
Wir haben dann erkannt, wie wir den Wert der Stadteigenschaft in diesem Fall ändern können, aber wenn sie nicht in der Registrierung vorhanden wäre, würde sie generiert, ohne das dort vorhandene zu ändern.Wir können etwas Besonderes tun in MongoDB und das ist in einer relationalen Engine nicht möglich, und es ist die Möglichkeit von Fügen Sie Arrays in unseren Dokumenten hinzu, damit können wir Wertelisten innerhalb einer Eigenschaft hinzufügen, sodass wir immer komplexere und vollständigere Dokumente für unsere Bedürfnisse erstellen können, ohne die allgemeine Struktur anderer Dokumente, die innerhalb derselben Sammlung nebeneinander existieren, beeinträchtigen zu müssen.
Dies ist die letzte Operation, das Löschen ist sehr einfach, fast genauso viel oder mehr als das Hinzufügen oder Aktualisieren, wir suchen einfach nach einem Kriterium oder Löschfilter, laden es in ein Array und führen die Methode aus Löschen ().
Das einzige was wir beachten müssen ist das MongoDB löscht alle Dokumente, die diesem Kriterium entsprechen. Wenn wir also nur eines löschen möchten, müssen wir die Eigenschaft verwenden nur einer und lege es hinein Wahr. Sehen wir uns unten den Code zum Löschen eines Dokuments an:
Damit beenden wir dieses Tutorial, wir haben auf einfache, aber funktionale Weise gesehen, wie wir a CRUD auf einer nicht-relationalen Struktur wie MongoDB aus PHP. Wenn wir dies beherrschen, werden wir leistungsstarke und sehr flexible Anwendungen schaffen, die uns helfen, unsere Benutzer zu beeindrucken.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben