MongoDB - Java: Ein Anfängerguide
Hallo da, zukünftiger MongoDB-Zauberer! Ich freue mich sehr, dein Guide auf dieser aufregenden Reise in die Welt von MongoDB mit Java zu sein. Als jemand, der schon seit Jahren Informatik unterrichtet, kann ich dir sagen, dass diese Kombination wie Erdnussbutter und Marmelade ist - einfach köstlich! Also, lasst uns die Ärmel hochkrempeln und eintauchen, wie wäre es?
Installation
Bevor wir anfangen, ein bisschen MongoDB-Zauber zu zaubern, müssen wir unsere Küche (ähm... Entwicklungsumgebung) bereit machen. Keine Sorge, das ist einfacher als IKEA-Möbel zusammenzubauen!
- Zuerst laden und installieren wir MongoDB von der offiziellen Website.
- Als nächstes müssen wir den MongoDB Java-Treiber zu unserem Projekt hinzufügen. Wenn du Maven verwendest, füge dies zu deiner pom.xml hinzu:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.3.0</version>
</dependency>
Wenn du Maven nicht verwendest, keine Sorge! Du kannst die JAR-Datei herunterladen und manuell zu deiner Classpath hinzufügen. Es ist wie die Wahl zwischen Automatik- und Schaltgetriebe - beides bringt dich ans Ziel!
Verbindung zur Datenbank herstellen
Nun, da wir alles eingerichtet haben, lassen uns mit unserer Datenbank verbinden. Es ist wie ein Telefonanruf, aber an eine Datenbank!
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;
public class MongoDBConnection {
public static void main(String[] args) {
// Erstellen eines MongoDB-Clients
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
// Verbindung zur Datenbank herstellen
MongoDatabase database = mongoClient.getDatabase("myDatabase");
System.out.println("Erfolgreich mit der Datenbank verbunden!");
}
}
In diesem Code erstellen wir einen MongoClient
und verwenden ihn, um mit einer Datenbank namens "myDatabase" zu verbinden". Wenn die Datenbank nicht existiert, erstellt MongoDB sie für uns. Ist das nicht nett von ihr?
Eine Sammlung erstellen
Sammlungen in MongoDB sind wie Tabellen in relationenorientierten Datenbanken, aber viel cooler. Sie sind schemalos, das bedeutet, sie können verschiedene Arten von Dokumenten enthalten. Es ist wie eine Party, auf der jeder eingeladen ist!
import com.mongodb.client.MongoCollection;
import org.bson.Document;
// ... (vorheriger Code zum Verbinden mit der Datenbank)
MongoCollection<Document> collection = database.getCollection("myCollection");
if (collection == null) {
database.createCollection("myCollection");
System.out.println("Sammlung erfolgreich erstellt!");
} else {
System.out.println("Sammlung existiert bereits!");
}
Dieser Code überprüft, ob eine Sammlung namens "myCollection" existiert. Wenn nicht, erstellt er eine. Es ist wie zu überprüfen, ob du Milch im Kühlschrank hast und wenn nicht, gehst du einkaufen!
Eine Sammlung auswählen
Sobald wir unsere Sammlungen haben, müssen wir wissen, wie man sie auswählt. Es ist wie das Auswählen eines Spiels aus deiner Spielzeugkiste!
MongoCollection<Document> collection = database.getCollection("myCollection");
System.out.println("Ausgewählte Sammlung: " + collection.getNamespace().getCollectionName());
Dieser Code wählt die "myCollection" Sammlung aus und gibt ihren Namen aus. Einfach, oder?
Ein Dokument einfügen
Nun fügen wir einige Daten zu unserer Sammlung hinzu. In MongoDB werden Daten als Dokumente gespeichert, die ähnlich zu JSON-Objekten sind.
Document document = new Document("name", "John Doe")
.append("age", 30)
.append("city", "New York");
collection.insertOne(document);
System.out.println("Dokument erfolgreich eingefügt!");
Dieser Code erstellt ein Dokument mit einem Namen, Alter und Stadt und fügt es in unsere Sammlung ein. Es ist wie ein Formular ausfüllen und einreichen!
Alle Dokumente abrufen
Was nützt Daten, wenn wir sie nicht abrufen können? Lassen wir uns alle Dokumente aus unserer Sammlung holen.
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());
}
Dieser Code ruft alle Dokumente ab und gibt sie als JSON aus. Es ist wie alle Cookies aus der Keksdose zu erbitten!
Ein Dokument aktualisieren
Manchmal müssen wir unsere Daten aktualisieren. Vielleicht ist John in eine neue Stadt gezogen?
collection.updateOne(eq("name", "John Doe"), new Document("$set", new Document("city", "San Francisco")));
System.out.println("Dokument erfolgreich aktualisiert!");
Dieser Code aktualisiert die Stadt von John Doe auf San Francisco. Es ist wie die Adresse zu aktualisieren, wenn du umziehst!
Ein Dokument löschen
Und manchmal müssen wir Daten entfernen. Angenommen, John möchte nicht mehr in unserer Datenbank sein.
collection.deleteOne(eq("name", "John Doe"));
System.out.println("Dokument erfolgreich gelöscht!");
Dieser Code löscht das Dokument für John Doe. Es ist wie einen Fehler auf deiner Hausaufgabe zu radieren!
Eine Sammlung löschen
Wenn wir eine ganze Sammlung entfernen möchten, können wir sie löschen.
collection.drop();
System.out.println("Sammlung erfolgreich gelöscht!");
Dieser Code löscht die gesamte Sammlung. Es ist wie das Leeren deiner gesamten Spielzeugkiste - sei vorsichtig damit!
Alle Sammlungen auflisten
Schließlich sehen wir, wie wir alle Sammlungen in unserer Datenbank auflisten können.
for (String collectionName : database.listCollectionNames()) {
System.out.println(collectionName);
}
Dieser Code listet alle Sammlungsnamen in der Datenbank auf. Es ist wie das Inventarisieren all deiner Spiele!
Hier ist eine Tabelle, die alle von uns besprochenen Methoden zusammenfasst:
Methode | Beschreibung |
---|---|
MongoClients.create() |
Erstellt einen MongoDB-Client |
mongoClient.getDatabase() |
Verbindet sich zu einer Datenbank |
database.getCollection() |
Holt oder erstellt eine Sammlung |
collection.insertOne() |
Fügt ein Dokument ein |
collection.find() |
Ruft Dokumente ab |
collection.updateOne() |
Aktualisiert ein Dokument |
collection.deleteOne() |
Löscht ein Dokument |
collection.drop() |
Löscht eine Sammlung |
database.listCollectionNames() |
Listet alle Sammlungen |
Und da hast du es, Leute! Du hast gerade deine ersten Schritte in die wundervolle Welt von MongoDB mit Java gemacht. Denke daran, Übung macht den Meister, also habe keine Angst, zu experimentieren und verschiedene Kombinationen auszuprobieren. Wer weiß? Vielleicht erstellst du ja die nächste große datenbankgestützte Anwendung! Frohes Coden!
Credits: Image by storyset