MongoDBErste Schritte mit MongoDB


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 mit mongo .
  • 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

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()
 

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")
 

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 Standarddatenbank test und in der Sammlung namens world .
  • 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 der next() Funktion das erste und einzige Dokument abgerufen und in einer anderen js-Variablen namens x gespeichert. Dann wurde der Wert des Dokuments gedruckt, das den Schlüssel enthält.

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
         
    • 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 die tgz Datei. Innerhalb des Ordners befindet sich ein Unterordner mit dem Namen bin der mehrere Binärdateien sowie mongod und mongo .

      • 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 wie connecting 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 sowie mongod und mongo . 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 namens db 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 wie connecting 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
         

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"
}
>