Schülerprofile_Aufgabe
Erste
- Autor: Lars Hellstern
- Gemacht: 8. Dez 2025
- Version: 1.0
Aufgabe 1: Eigenes JSON-Dokument für mich¶
Das ist mein Profil als valides JSON-Dokument. Dieses Format ist bereit für die Datenbank.
{
"name": "Lars Hellstern",
"klasse": "2FI",
"jahrgang": 2007,
"interessen": ["Autos", "Crypto", "Gambling"],
"lieblingsApps": [
{ "name": "Gemini", "typ": "KI" },
{ "name": "Snapchat", "typ": "Social" },
{ "name": "Bitget", "typ": "Crypto" }
],
"hatLaptop": true,
"stundenProWocheOnline": 20
}
Aufgabe 2: insertOne()¶
Dieser Befehl erstellt die Datenbank schuelerHub, die Collection profiles und fügt mich als ersten Eintrag hinzu.
Code für die Konsole:
use schuelerHub;
db.profiles.insertOne({
"name": "Lars Hellstern",
"klasse": "2FI",
"jahrgang": 2007,
"interessen": ["Autos", "Crypto", "Gambling"],
"lieblingsApps": [
{ "name": "Gemini", "typ": "KI" },
{ "name": "Snapchat", "typ": "Social" },
{ "name": "Bitget", "typ": "Crypto" }
],
"hatLaptop": true,
"stundenProWocheOnline": 20
});
Aufgabe 3: insertMany() (Die Mitschüler)¶
Jetzt fügen wir ein paar Personen der Klasse (Alexej, Joel, Sasa, Dijar, Florin, Aldin, Silas) in einem einzigen Befehl hinzu.
Code für die Konsole:
db.profiles.insertMany([
{
"name": "Alexej Blaho",
"klasse": "2FI",
"jahrgang": 2008,
"interessen": ["Gaming", "Programmieren"],
"lieblingsApps": [
{ "name": "Steam", "typ": "GameShop" },
{ "name": "Helldivers 2", "typ": "Game" }
],
"hatLaptop": true,
"stundenProWocheOnline": 50
},
{
"name": "Joel Mazurek",
"klasse": "2FI",
"jahrgang": 2007,
"interessen": ["Lesen", "Gym gehen", "Wandern"],
"lieblingsApps": [
{ "name": "YouTube", "typ": "Social" },
{ "name": "Instagram", "typ": "Social" }
],
"hatLaptop": true,
"stundenProWocheOnline": 20
},
{
"name": "Sasa Radovanovic",
"klasse": "2FI",
"jahrgang": 2009,
"interessen": ["Sport", "Gaming", "raus gehen"],
"lieblingsApps": [
{ "name": "TikTok", "typ": "social"},
{ "name": "Fortnite", "typ": "Game"}
],
"hatLaptop": true,
"stundenProWocheOnline": 24
},
{
"name": "Dijar Sadiku",
"klasse": "2FI",
"jahrgang": 2008,
"interessen": ["Freunde treffen"],
"lieblingsApps": [
{ "name": "Tiktok", "typ": "Social" },
{ "name": "Fortnite", "typ": "Game" }
],
"hatLaptop": true,
"stundenProWocheOnline": 20
},
{
"name": "Florin Gerig",
"klasse": "2FI",
"jahrgang": 2008,
"interessen": ["Bouldern", "Cello", "Programmieren"],
"lieblingsApps": [
{ "name": "Instagram", "typ": "Social" },
{ "name": "Minecraft", "typ": "Game" }
],
"hatLaptop": true,
"stundenProWocheOnline": 35
},
{
"name": "Aldin",
"klasse": "2FI",
"jahrgang": 2008,
"interessen": ["Programmieren", "Fussball", "Gaming"],
"lieblingsApps": [
{ "name": "TikTok", "typ": "Social" },
{ "name": "Gemini", "typ": "AI" },
{ "name": "Fortnite", "typ": "Game" }
],
"hatLaptop": true,
"stundenProWocheOnline": 35
},
{
"name": "Silas Lachauer",
"klasse": "2FI",
"jahrgang": 2009,
"interessen": ["Gaming", "TikTok", "Mit Freunden treffen"],
"lieblingsApps": [
{ "name": "TikTok", "typ": "Social" },
{ "name": "Brawl Stars", "typ": "Game" }
],
"hatLaptop": true,
"stundenProWocheOnline": 51
}
]);
Aufgabe 4: Leseabfragen (find)¶
Hier sind 5 Abfragen, die auf den oben eingefügten Daten basieren. Also mit find sucht man spezifisch die Datenbacnk nach hier jetzt konkret Personen die zb sich für Crypto interessieren oder die Lieblingsapp Gemini haben. Die parameter kann man natürlich anpassen nach was man suchen möchte.
1. Alle finden, die sich für "Crypto" interessieren (Das bist du)¶
2. Alle finden, die mehr als 40 Stunden pro Woche online sind (Alexej und Silas)¶
3. Alle finden, die "Gemini" als Lieblings-App nutzen (Du und Aldin)¶
Hier suchen wir in der Liste von Objekten nach dem Namen.
4. Alle finden, die 2008 geboren sind und einen Laptop haben¶
5. Nur Namen und Interessen anzeigen (ohne ID)¶
Aufgabe 5: Daten ändern & löschen¶
1. Update (updateOne): Dein Online-Verhalten anpassen¶
Man erhöt die Online-Zeit auf 25 Stunden und fügt das Interesse "Trading" hinzu.
db.profiles.updateOne(
{ "name": "Lars Hellstern" },
{
$set: { "stundenProWocheOnline": 25 },
$push: { "interessen": "Trading" }
}
);
2. Update Many (updateMany): Alle Gamer bekommen Discord¶
Jeder, der "Gaming" in den Interessen hat, bekommt "Discord" zu den Lieblings-Apps hinzugefügt.
db.profiles.updateMany(
{ "interessen": "Gaming" },
{
$push: {
"lieblingsApps": { "name": "Discord", "typ": "Communication" }
}
}
);
3. Delete (deleteOne): Einen Schüler löschen¶
Wir löschen Joel aus der Datenbank.