MongoDB ist eine dokumentenorientierte Datenbank, die JSON-ähnliche Syntax für die Interaktion verwendet. Die tatsächliche Speicherung erfolgt jedoch in BSON (Binary JSON). Dies ermöglicht Entwicklern, vertraute JSON-Strukturen zu verwenden, während MongoDB erweiterte Funktionen und Datentypen bietet.
Mit der Methode insertOne oder insertMany
können Sie Dokumente in eine Sammlung einfügen.
Beispiel:
// Einfügen eines einzelnen Dokuments
db.meineSammlung.insertOne({
"name": "Max",
"alter": 28,
"adresse": {
"stadt": "Berlin",
"plz": "10115"
},
"hobbies": ["Lesen", "Radfahren"]
});
// Einfügen mehrerer Dokumente
db.meineSammlung.insertMany([
{
"name": "Anna",
"alter": 25,
"hobbies": ["Kochen", "Laufen"]
},
{
"name": "Tom",
"alter": 32,
"hobbies": ["Fotografie", "Reisen"]
}
]);Die Methode find wird verwendet, um Dokumente aus einer
Sammlung abzurufen. Abfragen können einfache oder komplexe Suchkriterien
enthalten.
Beispiel:
// Abrufen aller Dokumente
db.meineSammlung.find();
// Abrufen von Dokumenten mit einem bestimmten Namen
db.meineSammlung.find({ "name": "Max" });
// Abrufen von Dokumenten, bei denen das Alter größer als 25 ist
db.meineSammlung.find({ "alter": { $gt: 25 } });
// Abrufen von Dokumenten, die ein bestimmtes Hobby enthalten
db.meineSammlung.find({ "hobbies": "Lesen" });MongoDB bietet mehrere Methoden zur Aktualisierung von Dokumenten,
darunter updateOne, updateMany und die
Verwendung von Operatoren wie $set.
Beispiel:
// Alter des Nutzers "Max" auf 29 setzen
db.meineSammlung.updateOne({ "name": "Max" }, { $set: { "alter": 29 } });
// Ein Hobby hinzufügen
db.meineSammlung.updateOne({ "name": "Max" }, { $push: { "hobbies": "Schwimmen" } });
// Mehrere Dokumente aktualisieren
db.meineSammlung.updateMany({ "alter": { $lt: 30 } }, { $set: { "status": "jung" } });Zum Entfernen von Dokumenten werden die Methoden
deleteOne oder deleteMany verwendet.
Beispiel:
// Löschen eines einzelnen Dokuments
db.meineSammlung.deleteOne({ "name": "Max" });
// Löschen aller Dokumente mit einem Alter unter 25
db.meineSammlung.deleteMany({ "alter": { $lt: 25 } });MongoDB bietet zahlreiche Operatoren, um komplexe Abfragen und Manipulationen durchzuführen.
$gt (größer als)$lt (kleiner als)$gte (größer oder gleich)$lte (kleiner oder gleich)$eq (gleich)$ne (ungleich)Beispiel:
db.meineSammlung.find({ "alter": { $gte: 25, $lte: 30 } });$and$or$not$norBeispiel:
db.meineSammlung.find({
$or: [{ "name": "Max" }, { "alter": { $gt: 30 } }]
});Für komplexere Datenverarbeitung bietet MongoDB die Aggregations-Framework.
Beispiel:
db.meineSammlung.aggregate([
{ $match: { "alter": { $gte: 25 } } },
{ $group: { _id: "$hobbies", count: { $sum: 1 } } },
{ $sort: { count: -1 } }
]);Die JSON-ähnliche Syntax in MongoDB erleichtert den Umgang mit Daten erheblich. Funktionen wie Einfügen, Abfragen, Aktualisieren und Löschen können intuitiv ausgeführt werden. Durch die Unterstützung von Operatoren und Aggregationen wird MongoDB zu einem leistungsfähigen Tool für die Verarbeitung strukturierter und halbstrukturierter Daten.