MongoDB Tutorial
Erste Schritte mit MongoDB
Suche…
Bemerkungen
- Die Daten in der Welt begannen enorm zu wachsen, nachdem mobile Anwendungen auf den Markt kamen. Diese riesige Datenmenge wurde mit der traditionellen relationalen Datenbank - SQL - fast unmöglich verarbeitet. NoSQL-Datenbanken werden eingeführt, um diese Daten zu verarbeiten, bei denen die Flexibilität einer variablen Spaltenanzahl für die einzelnen Daten sehr viel größer war.
- MongoDB ist eine der führenden NoSQL-Datenbanken. Jede Sammlung enthält eine Reihe von JSON-Dokumenten. Jedes Datenmodell, das in einem JSON-Dokument ausgedrückt werden kann, kann problemlos in MongoDB gespeichert werden.
- MongoDB ist eine Server-Client-Datenbank. Der Server läuft normalerweise mit der Binärdatei
mongod
und der Client mitmongo
. - In MongoDB gibt es aus verschiedenen philosophischen und pragmatischen Gründen keine Join-Operation vor v.3.2. Die Mongo-Shell unterstützt jedoch Javascript. Wenn also $ Lookup nicht verfügbar ist, können Sie Verknüpfungsoperationen für Dokumente in Javascript simulieren, bevor Sie sie einfügen.
- Um eine Instanz in der Produktionsumgebung auszuführen, wird dringend empfohlen, die Operations-Checkliste zu befolgen.
Versionen
Ausführung | Veröffentlichungsdatum |
---|---|
3.4 | 2016-11-29 |
3.2 | 2015-12-08 |
3,0 | 2015-03-03 |
2.6 | 2014-04-08 |
2.4 | 2013-03-19 |
2.2 | 2012-08-29 |
2,0 | 2011-09-12 |
1.8 | 2011-03-16 |
1.6 | 2010-08-31 |
1.4 | 2010-03-25 |
1.2 | 2009-12-10 |
Installation
Führen Sie die folgenden Schritte aus, um MongoDB zu installieren:
Für Mac OS:
- Für Mac OS gibt es zwei Optionen: manuelle Installation oder Homebrew .
- Installation mit Homebrew :
- Geben Sie den folgenden Befehl in das Terminal ein:
$ brew install mongodb
- Geben Sie den folgenden Befehl in das Terminal ein:
- Manuell installieren:
Laden Sie die neueste Version hier herunter. Stellen Sie sicher, dass Sie die entsprechende Datei herunterladen. Überprüfen Sie insbesondere, ob Ihr Betriebssystem 32-Bit oder 64-Bit ist. Die heruntergeladene Datei hat das Format
tgz
.Wechseln Sie in das Verzeichnis, in das diese Datei heruntergeladen wird. Geben Sie dann den folgenden Befehl ein:
$ tar xvf mongodb-osx-xyz.tgz
Anstelle von
xyz
gäbe es Informationen zu Version und Systemtyp. Der extrahierte Ordner hätte denselben Namen wie dietgz
Datei. Innerhalb des Ordners befindet sich ein Unterordner mit dem Namenbin
der mehrere Binärdateien sowiemongod
undmongo
.Standardmäßig speichert der Server die Daten im Ordner
/data/db
. Also müssen wir dieses Verzeichnis erstellen und dann den Server mit den folgenden Befehlen ausführen:$ sudo bash # mkdir -p /data/db # chmod 777 /data # chmod 777 /data/db # exit
Um den Server zu starten, sollte der folgende Befehl vom aktuellen Speicherort aus gegeben werden:
$ ./mongod
Der Server wird standardmäßig am Port 27017 gestartet.
Um den Client zu starten, muss ein neues Terminal mit demselben Verzeichnis wie zuvor geöffnet werden. Dann würde der folgende Befehl den Client starten und eine Verbindung zum Server herstellen.
$ ./mongo
Standardmäßig stellt es eine Verbindung zur
test
. Wenn Sie sehen, dass sich die Leitung wieconnecting to: test
. Dann haben Sie MongoDB erfolgreich installiert. Glückwunsch! Jetzt können Sie Hello World testen, um sicherer zu sein.
Für Windows:
Laden Sie die neueste Version hier herunter. Stellen Sie sicher, dass Sie die entsprechende Datei herunterladen. Überprüfen Sie insbesondere, ob Ihr Betriebssystem 32-Bit oder 64-Bit ist.
Die heruntergeladene Binärdatei hat die Erweiterung
exe
. Starte es. Es wird ein Installationsassistent angezeigt.Klicken Sie auf Weiter .
Akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Weiter .
Wählen Sie Complete Installation aus.
Klicken Sie auf Installieren . Möglicherweise werden Sie in einem Fenster aufgefordert, die Erlaubnis des Administrators einzuholen. Klicken Sie auf Ja .
Nach der Installation klicken Sie auf Fertig stellen .
Das mongodb wird jetzt unter dem Pfad
C:/Program Files/MongoDB/Server/3.2/bin
installiert. Anstelle von Version 3.2 könnte es auch eine andere Version für Ihren Fall geben. Der Pfadname würde entsprechend geändert.bin
Verzeichnis enthält mehrere Binärdateien sowiemongod
undmongo
. Um es aus einem anderen Ordner auszuführen, können Sie den Pfad im Systempfad hinzufügen. Es zu tun:- Klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und wählen Sie Eigenschaften aus .
- Klicken Sie im linken Bereich auf Erweiterte Systemeinstellungen .
- Klicken Sie auf der Registerkarte Erweitert auf Umgebungsvariablen .
- Wählen Sie den Pfad aus Abschnitt Systemvariablen und klicken Sie auf Bearbeiten ....
- Hängen Sie vor Windows 10 ein Semikolon an und fügen Sie den oben angegebenen Pfad ein. In Windows 10 gibt es die Schaltfläche Neu , um einen neuen Pfad hinzuzufügen.
- Klicken Sie auf OK , um die Änderungen zu speichern.
Erstellen Sie nun einen Ordner namens
data
mit einem Unterordner namensdb
in dem Sie den Server ausführen möchten.Starten Sie die Eingabeaufforderung über ihre. Ändern Sie entweder den Pfad in cmd oder klicken Sie auf das Befehlsfenster Öffnen, das sichtbar ist , wenn Sie mit der rechten Maustaste auf den leeren Bereich der Ordner-Benutzeroberfläche klicken, indem Sie die Umschalt- und die Strg-Taste gleichzeitig drücken.
Schreiben Sie den Befehl zum Starten des Servers:
> mongod
Der Server wird standardmäßig am Port 27017 gestartet.
Öffnen Sie eine andere Eingabeaufforderung, und geben Sie Folgendes ein, um den Client zu starten:
> mongo
Standardmäßig stellt es eine Verbindung zur
test
. Wenn Sie sehen, dass sich die Leitung wieconnecting to: test
. Dann haben Sie MongoDB erfolgreich installiert. Glückwunsch! Jetzt können Sie Hello World testen, um sicherer zu sein.
Für Linux: Fast gleich wie Mac OS, nur dass ein entsprechender Befehl benötigt wird.
- Für Debian-basierte Distributionen (mit
apt-get
):Importieren Sie den MongoDB-Repository-Schlüssel.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 gpg: Total number processed: 1\ gpg: imported: 1 (RSA: 1)
Repository zur Paketliste auf Ubuntu 16.04 hinzufügen .
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
auf Ubuntu 14.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Paketliste aktualisieren
$ sudo apt-get update
Installieren Sie MongoDB.
$ sudo apt-get install mongodb-org
- Für Red Hat basierte Distributionen (mit
yum
):Verwenden Sie einen Texteditor, den Sie bevorzugen.
$ vi /etc/yum.repos.d/mongodb-org-3.4.repo
Fügen Sie folgenden Text ein.
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Paketliste aktualisieren
$ sudo yum update
Installieren Sie MongoDB
$ sudo yum install mongodb-org
- Für Debian-basierte Distributionen (mit
Hallo Welt
Nach dem Installationsvorgang sollten die folgenden Zeilen in der Mongo-Shell (Client-Terminal) eingegeben werden.
> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);
Hallo Welt!
Erläuterung:
- In der ersten Zeile haben wir eingeführt , um eine
{ key : value }
gepaart Dokument in der Standarddatenbanktest
und in der Sammlung namensworld
. - In der zweiten Zeile rufen wir die Daten ab, die wir gerade eingefügt haben. Die abgerufenen Daten werden in einer Javascript-Variablen namens
cur
gespeichert. Dann haben wir mit dernext()
Funktion das erste und einzige Dokument abgerufen und in einer anderen js-Variablen namensx
gespeichert. Dann wurde der Wert des Dokuments gedruckt, das den Schlüssel enthält.
Ergänzende Bedingungen
SQL-Begriffe | MongoDB-Begriffe |
---|---|
Datenbank | Datenbank |
Tabelle | Sammlung |
Einheit / Zeile | Dokumentieren |
Säule | Schlüssel / Feld |
Tabelle beitreten | Eingebettete Dokumente |
Primärschlüssel | Primärschlüssel (Standardschlüssel _id bereitgestellt von mongodb |
Ausführung einer JavaScript-Datei in MongoDB
./mongo localhost:27017/mydb myjsfile.js
Erläuterung: Diese Operation führt das Skript myjsfile.js
in einer mongo
Shell aus, die eine Verbindung zur mydb
Datenbank der mongod
Instanz herstellt, auf die über die Schnittstelle localhost
an Port 27017
. localhost:27017
ist nicht obligatorisch, da dies der Standardport ist, den mongodb
verwendet.
Sie können auch eine .js
Datei in der mongo
Konsole .js
.
>load("myjsfile.js")
Die Ausgabe von find in der Shell lesbar machen
Wir fügen unserem Erfassungstest drei Datensätze hinzu als:
> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })
Wenn wir sie über find sehen, werden sie sehr hässlich aussehen.
> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }
Um dies zu umgehen und lesbar zu machen, verwenden Sie die Funktion pretty ().
> db.test.find().pretty()
{
"_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
"key" : "value1",
"key2" : "Val2",
"key3" : "val3"
}
{
"_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
"key" : "value2",
"key2" : "Val21",
"key3" : "val31"
}
{
"_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
"key" : "value3",
"key2" : "Val22",
"key3" : "val33"
}
>
Grundlegende Befehle zur Mongo-Shell
Alle verfügbaren Datenbanken anzeigen:
show dbs;
Wählen Sie eine bestimmte Datenbank aus, auf die mydb
, z. B. mydb
. Dies erstellt mydb
falls noch nicht vorhanden:
use mydb;
Alle Sammlungen in der Datenbank anzeigen (unbedingt zuerst auswählen, siehe oben):
show collections;
Alle Funktionen anzeigen, die mit der Datenbank verwendet werden können:
db.mydb.help();
Verwenden Sie zum Überprüfen der aktuell ausgewählten Datenbank den Befehl db
> db
mydb
db.dropDatabase()
Befehl db.dropDatabase()
wird zum db.dropDatabase()
einer vorhandenen Datenbank verwendet.
db.dropDatabase()