Opérations CRUD pour MongoDB en PHP

Table des matières
Les applications Web se concentrent généralement sur quatre opérations de base qu'elles doivent effectuer sur leur système de persistance ou Base de données, ces opérations sont considérées comme essentielles pour apprendre à se développer pour cet environnement, nous nous référons à Créer, lire, mettre à jour et supprimer aussi connu sous le nom CRUD pour ses sigles en anglais.
MongoDB grâce à son chauffeur pour PHP, nous permet d'effectuer ces quatre opérations de manière très simple, cependant, étant gestionnaire de Bases de données non relationnelles, nous ne pouvons pas tomber dans l'erreur de traiter toutes choses comme si nous utilisions un système relationnel tel que MySQL ou alors PostgreSQL.
ExigencesPour suivre ce tutoriel, nous devons avoir une version de MongoDB dans notre environnement de test, en plus d'avoir téléchargé et activé le pilote correspondant pour PHP, pour plus d'informations sur la façon de répondre à ces exigences, vous pouvez consulter le didacticiel suivant.
MongoDB a été créé pour être très efficace dans les transactions et les opérations, de cette façon, vous pouvez résoudre des problèmes réels sans perdre en performances. UNE CRUD ne nécessite pas beaucoup de puissance de traitement en soi, mais lorsque des milliers de demandes arrivent à notre Base de données en peu de temps est l'endroit où nous pouvons voir comment MongoDB nous aide à maintenir la performance.
Les collections et les documents sont des entités très puissantes, car faute d'une structure définie, nous pouvons stocker les données que nous voulons en conservant une image propre et ordonnée, en plus nous pouvons accéder aux données dans des requêtes simples qui, dans les modèles relationnels, pourraient nous amener des requêtes intermédiaires dans de nombreuses tables.
Le Base de données dans MongoDB sont connus comme des collections, nous ne pouvons donc pas les traiter comme Base de données traditionnel, sinon comme un ensemble de documents qui sont regroupés sous un différenciateur avec un nom.
Création de collectionPour créer une collection nous n'avons besoin d'aucune commande spéciale, simplement avec la même commande que nous la sélectionnons si elle n'existe pas, MongoDB Il se chargera d'en créer un nouveau avec le nom que nous aurons spécifié.
Cette simplicité facilite notre travail, en plus de réduire la quantité de code que nous devons placer dans nos applications. Voyons dans l'image suivante un exemple de code avec lequel nous pouvons sélectionner une collection dans MongoDB:

Ici, nous voyons comment nous créons d'abord l'objet de classe Mongo (), cela est inclus lors de l'installation du pilote correspondant, puis simplement en utilisant l'objet et en tapant un nom de Base de données est sélectionné ou créé. À ce stade, nous devons être prudents, car MongoDB il ne renverra pas d'erreur si le Base de données il n'existe pas, il va juste en créer un nouveau, nous devons donc faire une double vérification des noms que nous écrivons.
Enfin, nous pouvons créer une collection à l'intérieur du Base de données appelées directions, et avec cela nous aurons la base sur laquelle effectuer nos opérations CRUD.
Afin d'effectuer les autres opérations de la CRUD Nous devons d'abord avoir des données, c'est pourquoi la première chose que nous apprendrons est de créer des documents ou de faire des insertions d'enregistrements, selon ce qui convient le mieux à notre langage technique.
Merci au chauffeur MongoDBNous devons simplement créer un arrangement ou un tableau, avec la structure et les données nécessaires pour notre nouvel enregistrement, puis appeler la méthode insérer () méthode de connexion. Nous n'avons pas besoin d'avoir une structure définie ou de suivre un modèle pour cela, si un document a un champ et un autre n'en a pas, le processus n'est pas affecté.
Voyons dans l'image suivante le code source qui explique le processus susmentionné :

Il existe une alternative à la méthode insérer () et est la méthode enregistrer (), la différence est que enregistrer () si un identifiant unique est spécifié et qu'il existe, l'enregistrement existant sera mis à jour avec les nouvelles données.
Dans la communauté des développeurs, ils suggèrent de travailler davantage avec enregistrer () avec quoi insérer () pour générer du code réutilisable, mais la décision est entre les mains de chacun.
Par défaut, la méthode d'insertion dans MongoDB est asynchrone, cela signifie que même si le Base de données vous insérez ou mettez à jour l'enregistrement PHP il continue son exécution sans planter. Le résultat de ce comportement est que l'application s'exécute plus rapidement, même si le moteur de base de données ne le fait pas.
Comme ce comportement ne va pas toujours nous être utile, nous pouvons le forcer à se comporter de manière synchrone en passant le paramètre en sécurité lors de l'exécution de l'opération, cela entraînera PHP attendre la réponse de MongoDB avant de poursuivre l'exécution de ses instructions. La structure des paramètres en sécurité est le suivant:
$ collection-> insert ($ address, array ('safe' => true));

Par défaut et sauf indication contraire, MongoDB génère automatiquement les clés primaires des documents sous le nom _identifiant, lors de la réalisation d'un insérer () de manière synchrone, la clé est définie et placée dans le tableau que nous venons d'insérer.
Donc si on veut savoir quel est l'identifiant unique, il suffit de consulter cette propriété du tableau, si on suit l'exemple précédent, il suffirait de faire ce qui suit :
$ id = $ collection ['_ id'];

Passons maintenant à la deuxième opération, qui consiste à lire les informations que nous avons dans nos documents ou Base de données. Ici, nous pouvons faire des requêtes pour la clé primaire directement ou pour toute autre combinaison de propriétés de notre document.
Pour faire la recherche, nous utilisons simplement la méthode trouver un () et à cela nous allons passer un tableau avec tous les éléments que nous allons filtrer. Voyons dans l'image suivante une requête utilisant une clé primaire et une autre utilisant d'autres propriétés du document :

Si nous remarquons ici, pour rechercher par clé primaire, la première chose que nous faisons est de créer un objet du type MongoId et vous êtes étonné de la valeur de celui-ci, c'est la clé pour que tout fonctionne correctement. D'autre part, lors de la requête de propriétés, il suffit de placer la valeur dans le tableau sans avoir à créer d'objets.
Par défaut MongoDB il renverra le document complet une fois qu'il aura trouvé une correspondance, donc si nous ne voulons pas plus d'une ou quelques données, nous devons le spécifier dans un deuxième paramètre qui est un tableau des propriétés ou des champs que nous voulons , voyons dans le code suivant comment cela peut être fait :
$ result = $ collection-> findone (array ('_id' => $ id), array ('first name', 'last name'));

Lors du placement du code précédent, la variable de résultat aura un tableau qui ne contient que les propriétés de prénom et de nom du document qui correspondent aux critères de recherche.
Passons maintenant à la troisième opération, il s'agit de mettre à jour un document déjà créé au sein de notre collection, ici il faut faire attention, car si on ne place pas le bon formulaire on peut finir par écraser le document original au lieu de mettre à jour ou d'ajouter une propriété .
Pour éviter toute confusion, il est recommandé d'utiliser $ ensemble qui est un opérateur qui dit MongoDB que si le paramètre existe, il sera mis à jour avec la valeur envoyée, et s'il n'existe pas, il sera créé. Cela nous permet d'éviter les erreurs dans notre application et nous permet encore mieux de fournir à notre application une fonctionnalité souhaitée. Voyons comment cela fonctionne :

AGRANDIR

Nous avons alors réalisé comment nous pouvons changer la valeur de la propriété de la ville dans ce cas, cependant si elle n'existait pas dans le registre, elle serait générée sans modifier ce qui y existe déjà.
Il y a quelque chose de spécial que nous pouvons faire dans MongoDB et cela ne peut se faire dans un moteur relationnel, et c'est la possibilité de ajouter des tableaux à l'intérieur de nos documents, avec cela, nous pouvons ajouter des listes de valeurs au sein d'une propriété afin que nous puissions générer des documents de plus en plus complexes et complets pour nos besoins, le tout sans avoir à affecter la structure générale des autres documents qui coexistent au sein de la même collection.
C'est la dernière opération, la suppression est très simple, presque autant voire plus que l'ajout ou la mise à jour, on cherche simplement un critère ou un filtre de suppression, on le charge dans un tableau et on exécute la méthode supprimer ().
La seule chose que nous devons garder à l'esprit est que MongoDB supprimera tous les documents qui correspondent à ce critère, c'est pourquoi si nous voulons en supprimer un seul, nous devons utiliser la propriété juste un et placez-le dans Vrai. Voyons ci-dessous le code pour supprimer un document :

Avec cela, nous terminons ce tutoriel, nous avons vu de manière basique mais fonctionnelle comment nous pouvons inclure un CRUD sur une structure non relationnelle comme MongoDB depuis PHP. Si nous pouvons maîtriser cela, nous créerons des applications hautes performances et très flexibles qui nous aideront à impressionner nos utilisateurs.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave