MongoDB - Java: Guide pour Débutants

Salut là, futur magicien MongoDB ! Je suis ravi de devenir ton guide sur ce voyage passionnant dans le monde de MongoDB avec Java. En tant que quelqu'un qui enseigne l'informatique depuis des années, je peux te dire que cette combinaison est comme du beurre de cacahuète et de la gelée - simplement délicieux ! Alors, mettons nos manches et plongeons dedans, d'accord ?

MongoDB - Java

Installation

Avant de commencer à créer de la magie MongoDB, nous devons préparer notre cuisine (err... environnement de développement). Ne t'inquiète pas, c'est plus facile que d'assembler du mobilier IKEA !

  1. Tout d'abord, télécharge et installe MongoDB depuis le site officiel.
  2. Ensuite, nous devons ajouter le pilote MongoDB Java à notre projet. Si tu utilises Maven, ajoute ceci à ton pom.xml :
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.3.0</version>
</dependency>

Si tu n'utilises pas Maven, ne t'inquiète pas ! Tu peux télécharger le fichier JAR et l'ajouter manuellement à ton classpath. C'est comme choisir entre une transmission automatique et manuelle - les deux te feront arrive à destination !

Connexion à la Base de Données

Maintenant que tout est prêt, connectons-nous à notre base de données. C'est comme passer un appel téléphonique, mais à une base de données !

import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;

public class MongoDBConnection {
public static void main(String[] args) {
// Créer un client MongoDB
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Se connecter à la base de données
MongoDatabase database = mongoClient.getDatabase("myDatabase");

System.out.println("Connecté à la base de données avec succès !");
}
}

Dans ce code, nous créons un MongoClient et l'utilisons pour nous connecter à une base de données nommée "myDatabase". Si la base de données n'existe pas, MongoDB la créera pour nous. Ce n'est pas gentil ?

Créer une Collection

Les collections dans MongoDB sont comme des tables dans des bases de données relationnelles, mais bien plus cool. Elles sont sans schéma, ce qui signifie qu'elles peuvent contenir différents types de documents. C'est comme une fête où tout le monde est invité !

import com.mongodb.client.MongoCollection;
import org.bson.Document;

// ... (code précédent pour se connecter à la base de données)

MongoCollection<Document> collection = database.getCollection("myCollection");
if (collection == null) {
database.createCollection("myCollection");
System.out.println("Collection créée avec succès !");
} else {
System.out.println("Collection déjà existante !");
}

Ce code vérifie si une collection nommée "myCollection" existe. Si elle n'existe pas, elle la crée. C'est comme vérifier si tu as du lait dans le réfrigérateur, et si non, tu en achètes !

Sélectionner une Collection

Une fois que nous avons nos collections, nous devons savoir comment les sélectionner. C'est comme choisir quel jouet jouer dans ta boîte à jouets !

MongoCollection<Document> collection = database.getCollection("myCollection");
System.out.println("Collection sélectionnée : " + collection.getNamespace().getCollectionName());

Ce code sélectionne la collection "myCollection" et imprime son nom. Simple, n'est-ce pas ?

Insérer un Document

Maintenant, ajoutons des données à notre collection. Dans MongoDB, les données sont stockées sous forme de documents, qui sont similaires aux objets JSON.

Document document = new Document("name", "John Doe")
.append("age", 30)
.append("city", "New York");

collection.insertOne(document);
System.out.println("Document inséré avec succès !");

Ce code crée un document avec un nom, un âge et une ville, puis l'insère dans notre collection. C'est comme remplir un formulaire et le soumettre !

Récupérer Tous les Documents

Quelle est l'utilité des données si nous ne pouvons pas les récupérer ? Récupérons tous les documents de notre collection.

import com.mongodb.client.FindIterable;
import static com.mongodb.client.model.Filters.*;

FindIterable<Document> documents = collection.find();
for (Document doc : documents) {
System.out.println(doc.toJson());
}

Ce code récupère tous les documents et les imprime en tant que JSON. C'est comme demander tous les cookies dans le bocal !

Mettre à Jour un Document

Parfois, nous devons mettre à jour nos données. Peut-être que John a déménagé dans une nouvelle ville ?

collection.updateOne(eq("name", "John Doe"), new Document("$set", new Document("city", "San Francisco")));
System.out.println("Document mis à jour avec succès !");

Ce code met à jour la ville de John Doe en San Francisco. C'est comme mettre à jour ton adresse lorsque tu déménages !

Supprimer un Document

Et parfois, nous devons supprimer des données. Disons que John ne veut plus être dans notre base de données.

collection.deleteOne(eq("name", "John Doe"));
System.out.println("Document supprimé avec succès !");

Ce code supprime le document de John Doe. C'est comme effacer une erreur sur ton devoir !

Supprimer une Collection

Si nous voulons supprimer une collection entière, nous pouvons la supprimer.

collection.drop();
System.out.println("Collection supprimée avec succès !");

Ce code supprime la collection entière. C'est comme vider ta boîte à jouets - sois prudent avec celui-là !

Lister toutes les Collections

Enfin, voyons comment nous pouvons lister toutes les collections dans notre base de données.

for (String collectionName : database.listCollectionNames()) {
System.out.println(collectionName);
}

Ce code liste tous les noms de collections dans la base de données. C'est comme prendre inventaire de tous les jeux que tu as !

Voici un tableau récapitulatif de toutes les méthodes que nous avons couvertes :

Méthode Description
MongoClients.create() Crée un client MongoDB
mongoClient.getDatabase() Se connecte à une base de données
database.getCollection() Obtient ou crée une collection
collection.insertOne() Insère un document
collection.find() Récupère des documents
collection.updateOne() Met à jour un document
collection.deleteOne() Supprime un document
collection.drop() Supprime une collection
database.listCollectionNames() Liste toutes les collections

Et voilà, les amis ! Tu viens de faire tes premiers pas dans le merveilleux monde de MongoDB avec Java. Souviens-toi, la pratique rend parfait, donc n'ayez pas peur d'expérimenter et d'essayer différentes combinaisons. Qui sait ? Tu pourrais juste créer la prochaine grande application pilotée par une base de données ! Bon codage !

Credits: Image by storyset