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
mongodund 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.tgzAnstelle von
xyzgäbe es Informationen zu Version und Systemtyp. Der extrahierte Ordner hätte denselben Namen wie dietgzDatei. Innerhalb des Ordners befindet sich ein Unterordner mit dem Namenbinder mehrere Binärdateien sowiemongodundmongo.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 # exitUm den Server zu starten, sollte der folgende Befehl vom aktuellen Speicherort aus gegeben werden:
$ ./mongodDer 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.
$ ./mongoStandardmäß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/bininstalliert. Anstelle von Version 3.2 könnte es auch eine andere Version für Ihren Fall geben. Der Pfadname würde entsprechend geändert.binVerzeichnis enthält mehrere Binärdateien sowiemongodundmongo. 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
datamit einem Unterordner namensdbin 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:
> mongodDer Server wird standardmäßig am Port 27017 gestartet.
Öffnen Sie eine andere Eingabeaufforderung, und geben Sie Folgendes ein, um den Client zu starten:
> mongoStandardmäß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.listauf 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.listPaketliste aktualisieren
$ sudo apt-get updateInstallieren 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.ascPaketliste aktualisieren
$ sudo yum updateInstallieren 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 Standarddatenbanktestund 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
curgespeichert. Dann haben wir mit dernext()Funktion das erste und einzige Dokument abgerufen und in einer anderen js-Variablen namensxgespeichert. 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()