MongoDB - PHP: Guide pour Débutants

Salut à toi, futurs magiciens des bases de données ! ? Je suis ravi de vous guider dans cette incroyable aventure dans le monde de MongoDB et de PHP. En tant que quelqu'un qui enseigne l'informatique depuis des années, j'ai vu des dizaines d'élèves s'illuminer lorsqu'ils saisissent ces concepts. Alors, mettons-nous à l'œuvre et créons ensemble un peu de magie de base de données !

MongoDB - PHP

Établir une Connexion et Sélectionner une Base de Données

Avant de faire quoi que ce soit d'extraordinaire, nous devons nous connecter à notre serveur MongoDB et sélectionner une base de données. Imaginez cela comme frapper à la porte d'une énorme bibliothèque et demander à être admis.

Voici comment nous procédons :

<?php
// Créer un nouveau client MongoDB
$client = new MongoDB\Client("mongodb://localhost:27017");

// Sélectionner une base de données
$database = $client->selectDatabase("myAwesomeDB");

echo "Connecté avec succès à la base de données !";
?>

Reprenons cela :

  1. Nous créons un nouveau client MongoDB, en indiquant où se trouve notre serveur MongoDB (dans ce cas, sur notre machine locale).
  2. Ensuite, nous sélectionnons une base de données appelée "myAwesomeDB". Si elle n'existe pas, MongoDB la créera pour nous. Ça n'est pas génial ?

Conseil pro : Vérifiez toujours si votre connexion a réussi. Dans un scénario réel, vous voudriez envelopper cela dans un bloc try-catch pour gérer les erreurs de connexion avec grâce.

Créer une Collection

Maintenant que nous sommes dans notre base de données, nous avons besoin d'un endroit pour stocker nos données. Dans MongoDB, nous appelons ces endroits "collections". Pensez à une collection comme à un tiroir dans un classeur.

Voici comment nous en créons une :

<?php
// Créer une nouvelle collection
$collection = $database->createCollection("myFirstCollection");

echo "Collection créée avec succès !";
?>

Facile, n'est-ce pas ? Nous venons simplement de demander à notre base de données de créer une nouvelle collection appelée "myFirstCollection". Si la collection existe déjà, MongoDB simplement retournera la collection existante.

Insérer un Document

Il est temps de mettre quelque chose dans notre nouvelle collection ! Dans MongoDB, nous stockons les données sous forme de "documents". Ceux-ci sont beaucoup comme les objets JSON que vous avez peut-être déjà vus.

Ajoutons un document sur un joli chat :

<?php
$document = [
"name" => "Whiskers",
"age" => 3,
"color" => "orange",
"likes" => ["dodos", "poisson", "pointeurs laser"]
];

$insertResult = $collection->insertOne($document);

echo "Document inséré avec l'ID : " . $insertResult->getInsertedId();
?>

Voici ce qui se passe :

  1. Nous créons un tableau qui représente notre document. Il contient divers champs décrivant notre chat.
  2. Nous utilisons la méthode insertOne() pour ajouter ce document à notre collection.
  3. MongoDB attribue un ID unique à chaque document, que nous pouvons récupérer avec getInsertedId().

Récupérer Tous les Documents

Maintenant que nous avons des données, reprenons-les. Nous utiliserons la méthode find() pour obtenir tous les documents de notre collection :

<?php
$cursor = $collection->find();

foreach ($cursor as $document) {
echo "Nom : " . $document["name"] . ", Âge : " . $document["age"] . "\n";
}
?>

Ce code affichera le nom et l'âge de chaque chat dans notre collection. La méthode find() retourne un curseur, que nous pouvons itérer pour accéder à chaque document.

Mettre à Jour un Document

Oups ! Nous venons de realization que Whiskers a eu un anniversaire. Mettons à jour son âge :

<?php
$updateResult = $collection->updateOne(
["name" => "Whiskers"],
['$set' => ["age" => 4]]
);

echo "Correspondance avec " . $updateResult->getMatchedCount() . " document(s)\n";
echo "Modifié " . $updateResult->getModifiedCount() . " document(s)";
?>

Voici ce qui se passe :

  1. Nous utilisons updateOne() pour trouver un document où le nom est "Whiskers".
  2. Ensuite, nous utilisons l'opérateur $set pour changer l'âge à 4.
  3. La méthode retourne des informations sur le nombre de documents correspondants et modifiés.

Supprimer un Document

Parfois, nous devons supprimer des données. disons que Whiskers a trouvé une nouvelle maison (ne vous inquiétez pas, il est très heureux là-bas !). Nous pouvons supprimer son document comme ceci :

<?php
$deleteResult = $collection->deleteOne(["name" => "Whiskers"]);

echo "Supprimé " . $deleteResult->getDeletedCount() . " document(s)";
?>

Ce code trouve un document où le nom est "Whiskers" et le supprime. La méthode getDeletedCount() nous indique combien de documents ont été supprimés.

Méthodes MongoDB PHP

Voici un tableau pratique des principales méthodes MongoDB PHP que nous avons couvertes :

Méthode Description
new MongoDB\Client() Crée un nouveau client MongoDB
selectDatabase() Sélectionne une base de données
createCollection() Crée une nouvelle collection
insertOne() Insère un document unique
find() Récupère des documents d'une collection
updateOne() Met à jour un document unique
deleteOne() Supprime un document unique

Et voilà ! Vous avez maintenant appris les bases de la manipulation de MongoDB avec PHP. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces méthodes. Essayez de créer différentes collections, d'insérer divers types de documents et de jouer avec des requêtes plus complexes.

Dans mes années d'enseignement, j'ai découvert que les élèves qui se plongent dedans et sale les mains avec le code sont ceux qui maîtrisent vraiment ces concepts. Alors, vaillant padawan, et que la base de données soit avec toi ! ??

Credits: Image by storyset