Anmelden
Anmelden

Verwendung der MongoDB Shell

Verwendung der MongoDB Shell
Minhal Abbas
Technischer Redakteur
Datenbank MongoDB
23.10.2025
Reading time: 9 min

Die MongoDB Shell ist eine anpassungsfähige JavaScript- und Node.js-REPL-Umgebung (Read-Eval-Print Loop) zum Arbeiten mit MongoDB-Bereitstellungen. Sie ist ein wichtiges Dienstprogramm zum Abfragen von Daten, Verwalten von Datenbanken und Durchführen verschiedener Operationen. Sie bietet eine attraktive Ansicht zur Steuerung von Datenbanken, egal ob Sie sie auf einem Remote-Server oder lokal in MongoDB verwenden.

Dieser Artikel zeigt Ihnen schrittweise Richtlinien für die Nutzung der MongoDB Shell.

Schritt 1: Installation der MongoDB Shell

Bevor Sie mit den Operationen beginnen, stellen Sie sicher, dass die Benutzer sie auf dem System installiert haben. Falls nicht, laden Sie zuerst die passende Version über die offizielle Website herunter und beachten Sie die Installationsanweisungen für Ihr System.

Windows

Besuchen Sie die offizielle Seite, wählen Sie die Windows-Version aus und starten Sie den Download.

macOS

Wählen Sie auf der offiziellen Seite die macOS-Version aus und starten Sie den Downloadprozess. Alternativ können Sie Homebrew verwenden, indem Sie die folgenden Befehle ausführen:

brew tap mongodb/brew
brew install mongosh

Linux

Beachten Sie die auf der Website bereitgestellten Richtlinien für das Linux-Betriebssystem. Zum Beispiel auf einem Debian-basierten Betriebssystem folgen Sie diesen Schritten:

Fügen Sie den GPG-Schlüssel für das MongoDB-Repository hinzu:

curl -fsSL https://pgp.mongodb.com/server-7.0.asc |  sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

Fügen Sie das MongoDB-Repository zu Ihrem System hinzu:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Aktualisieren Sie die Paketliste:

sudo apt update

Installieren Sie MongoDB:

sudo apt install mongodb-org -y

Image4

Nach erfolgreicher Installation überprüfen Sie die installierte Version:

mongod --version

Image6

Sobald die Installation abgeschlossen ist, aktivieren, starten und überprüfen Sie den Dienst:

sudo systemctl enable mongod
sudo systemctl start mongod
sudo systemctl status mongod

Image5

Wenn Sie nach einer zuverlässigen, leistungsstarken und budgetfreundlichen Lösung für Ihre Workflows suchen, bietet Hostman Linux-VPS-Hosting-Optionen, darunter Debian VPS, Ubuntu VPS und VPS CentOS.

Schritt 2: Verbindung zu einer Instanz herstellen

Nach Abschluss der Installation können Sie eine Verbindung zu einer Instanz herstellen. Wenn sie lokal ist, geben Sie mongosh ein. Standardmäßig wird eine Verbindung zur Instanz hergestellt. Sie läuft auf Port 27017 auf localhost:

mongosh

Image7

Die folgende Syntax wird verwendet, um eine Verbindung zu einem Remote-Server herzustellen:

mongodb+srv://<benutzername>:<passwort>@<cluster-adresse>/<datenbank>?retryWrites=true&w=majority

Ersetzen Sie <benutzername>, <passwort>, <cluster-adresse> und <datenbank> durch die echten Zugangsdaten und Verbindungsdetails.

Schritt 3: Navigation im Terminal

Nach der Verbindung können Sie mit den Datenbanken arbeiten. Zuvor zeigt die Schnittstelle eine Begrüßungsnachricht an:

Image7

Die zugewiesene Datenbank einer neu gestarteten Shell-Instanz heißt test. Sie kann gefahrlos für Experimente verwendet werden.

Nützliche Operationen sind unten aufgeführt:

Alle Datenbanken anzeigen

Führen Sie zunächst show dbs aus, um eine Übersicht aller verfügbaren Datenbanken zu erhalten:

show dbs

Image10

Aktuelle Datenbank anzeigen

Die meisten Befehle arbeiten auf einer Datenbank oder einer Sammlung, die in der Datenbank enthalten ist. Um dies zu tun, repräsentiert das Objekt db die aktuell ausgewählte Datenbank und ist verfügbar:

db

Image9

Zu einer Datenbank wechseln

Geben Sie den use-Befehl mit dem Namen der Datenbank ein, z. B. new_db, um diese zu erstellen oder zu ihr zu wechseln:

use new_db

Image11

Ersetzen Sie new_db durch den tatsächlichen Namen der Datenbank.

Ein Objekt einfügen

Geben Sie zuerst ein Objekt mit einem Namen in student_data in der bestehenden new_db ein:

db.student_data.insertOne({name: 'School has 500 students'})

Image1

Benutzer können auch mehrere Dokumente in student_data einfügen, wobei jedes ein Namensfeld mit bestimmten Werten enthält. Dies ermöglicht das Stapeln von Daten in die Sammlung:

db.student_data.insertMany([
{name: 'School has 500 students'},
{name: 'School has 600 students'}
])

Image8

Sammlungen anzeigen

Nachdem die Eingabe eingefügt wurde, zeigen Sie die vorhandenen Sammlungen an:

show collections

Image14

Wenn Sie keine weiteren Aufgaben ausführen möchten, verlassen Sie die Schnittstelle mit dem Befehl:

exit

Image12

Damit haben Sie die grundlegenden Shell-Operationen verstanden.

Schritt 4: Operationen mit CRUD

Bei der Arbeit mit der Shell sind CRUD-Operationen (Create, Read, Update, Delete) grundlegend. Lassen Sie uns einige Basisoperationen ausführen:

Erstellen/Einfügen von Daten

Beim Einfügen neuer Informationen in eine Sammlung wird die Funktion insertOne verwendet. Erstellen wir eine neue Sammlung und füllen sie mit den erforderlichen Informationen, einschließlich name, age und city:

db.collection.insertOne({ name: "Harry", age: 45, city: "Sydney" })

Image13

Finden/Lesen von Daten

Sie können Dokumente, die mit der Sammlung verknüpft sind, mit der Funktion find abfragen. Zum Beispiel werden alle Einträge mit einem age über 25 abgerufen:

db.collection.find({ age: { $gt: 25 } }) //  Bedingung, bei der das Alter größer als 25 ist

Image15

Daten ändern

Verwenden Sie die Funktionen updateOne oder updateMany, um bestehende Dokumente zu ändern. Zum Beispiel wird das age des Benutzers mit dem Namen Harry auf 50 aktualisiert:

db.collection.updateOne({ name: "Harry" }, { $set: { age: 50 } })

Image16

Daten löschen

Verwenden Sie die Methoden deleteOne oder deleteMany, um Einträge aus der Sammlung zu entfernen. Dieser Befehl entfernt ein Dokument mit dem Wert John im Namensfeld:

db.collection.deleteOne({ name: "John" })

Image17

Schritt 5: Erweiterte Nutzung

In diesem Schritt führen Sie komplexe Operationen mit erweiterten Funktionen durch. Durch Debugging-, Profiling- und Leistungsoptimierungstools hilft Ihnen die Shell, Engpässe zu finden und Ihre Umgebung zu optimieren.

Aggregations-Pipeline

Mit Hilfe von Pipelines können Datensätze berechnet und Ergebnisse erzeugt werden. Durch Pipelines können komplexe Analysen und Transformationen erstellt werden, um wertvolle Erkenntnisse aus Rohdaten zu gewinnen. Zur Ausführung einer Pipeline von Stufen verwenden Sie die Funktion aggregate. Hier ist ein einfaches Codebeispiel:

db.collection.aggregate([
    { $match: { status: "A" } },
    { $group: { _id: "$city", total: { $sum: "$amount" } } },
    { $sort: { total: -1 } }
])

Image18

In diesem Skript filtert die Pipeline Dokumente mit dem Status A, gruppiert sie nach city, summiert die Beträge und sortiert die Ergebnisse in absteigender Reihenfolge.

Ein leistungsstarkes Werkzeug für Datenanalyse und -transformation ist die Aggregations-Pipeline. Sie besteht aus mehreren Stufen, von denen jede den Dokumentenstrom verändert. Diese Stufen beinhalten:

$project: Wählt bestimmte Felder aus oder schließt sie aus.

$match: Wendet eine Abfragebedingung zum Filtern an.

$group: Gruppiert Eingaben nach einem Feld und berechnet Aggregationen.

$sort: Sortiert Einträge nach einem bestimmten Feld.

$limit: Beschränkt die Anzahl der Datensätze.

$skip: Überspringt eine bestimmte Anzahl von Datensätzen.

MapReduce

Ein effektives Paradigma zur Verarbeitung großer Datensätze. Zum Ausführen von MapReduce-Aufgaben verwenden Sie den Befehl mapReduce:

// Beispieldaten in der Sammlung
db.collection.insertMany([
    { name: "Harry", age: 25, salary: 5000 },
    { name: "Buttler", age: 30, salary: 6000 },
    { name: "Morgan", age: 35, salary: 7000 }
]);

// Map-Funktion
var mapFunction = function() {
    emit(this.age, this.salary);
};

// Reduce-Funktion
var reduceFunction = function(keyAge, valuesSalaries) {
    return Array.sum(valuesSalaries);
};

// MapReduce ausführen
db.runCommand({
    mapreduce: "collection",
    map: mapFunction,
    reduce: reduceFunction,
    out: "results"
});

db.results.find().forEach(printjson); // Ergebnisse ausgeben

Image3

  • In diesem Beispiel gibt die mapFunction das age als Schlüssel und das salary als Wert aus.
  • Die reduceFunction summiert die Gehälter für jede Altersgruppe.
  • Die Ergebnisse werden in einer neuen Sammlung namens results gespeichert, und die Ausgabe wird mit db.results.find().forEach(printjson) angezeigt.

Das Ergebnis wird unten dargestellt:

Image22

Projektion

Verwenden Sie den Projektionsoperator, um festzulegen, welche Felder in das Ergebnis aufgenommen oder ausgeschlossen werden sollen. Er ruft alle Informationen ab, die mit der bestimmten Abfrage verknüpft sind, z. B. nur die Felder name und age anzuzeigen. So können Sie gezielte Ergebnisse visualisieren und andere ausschließen. Lassen Sie uns nur die Felder name und age projizieren:

db.collection.find({}, { name: 1, age: 1 }) 

Image19

Sortierung

Sortieren Sie die Ergebnisse mit der Funktion sort. Sie ruft alle Dokumente des Sets ab und sortiert sie dann in absteigender Reihenfolge basierend auf dem Alter. Dadurch werden zuerst die höchsten Alterswerte angezeigt. Lassen Sie uns nach age in absteigender Reihenfolge sortieren:

db.collection.find().sort({ age: -1 }) 

Image20

Begrenzung

Mit der Funktion limit können Benutzer die Anzahl der Ergebnisse begrenzen. Beispielsweise werden die ersten drei Dokumente der Sammlung abgerufen. Dies ist nützlich, um einen kleinen Datenausschnitt anzuzeigen, ohne die gesamte Liste abzurufen. Begrenzen wir die Ergebnisse auf 3:

db.collection.find().limit(3) 

Image21

Überspringen

Ein Eintrag kann mit der Funktion skip übersprungen werden. Beispielsweise werden die ersten zwei Dokumente der Sammlung übersprungen. Dies ist hilfreich für die Paginierung oder zum Ignorieren der ersten Datensätze. Lassen Sie uns die ersten 2 Ergebnisse überspringen:

db.collection.find().skip(2) 

Image23

Schritt 6: Skripterstellung mit der Shell

Benutzer können Skripte zur Automatisierung von Aufgaben innerhalb der Shell schreiben. Speichern Sie das Skript dazu in einer .js-Datei und führen Sie mongosh aus. Dies ist nützlich, um wiederkehrende Aufgaben effizient auszuführen, z. B. das Einpflegen von Daten oder Batch-Updates:

mongosh script.js

Image2

Durch das Beherrschen der MongoDB-Befehle gewinnen Sie wertvolle Einblicke in Ihre Daten.

Fazit

Mit der interaktiven MongoDB-Shell-Oberfläche führen Sie wiederkehrende Verwaltungsaufgaben wie Schreiben, Lesen und Bearbeiten aus. Außerdem können Sie vorhandene Sammlungen abfragen, neue Objekte zur Datenbank hinzufügen und administrative Aufgaben ausführen. Von einfachen CRUD-Vorgängen bis hin zu komplexen Aggregationen und Skripten können Benutzer die Schnittstelle effizient nutzen, um eine Vielzahl von Aufgaben auszuführen.

Durch das Ausführen von Skripten können Leser wiederkehrende Aufgaben effizient erledigen. Dieses Tutorial hat die Installation, Konfiguration und Verwaltung von Datenbanken, deren Sammlungen und Benutzer behandelt.

Datenbank MongoDB
23.10.2025
Reading time: 9 min

Ähnlich

Haben Sie Fragen,
Anmerkungen oder Bedenken?

Unsere Fachleute stehen Ihnen jederzeit zur Verfügung,
egal ob Sie Hilfe benötigen oder nicht wissen, wo Sie anfangen sollen.
E-Mail an uns
Hostman's Support