MongoDB ist eine NoSQL-Datenbank. Unter NoSQL Unter einen Dach fassen wir all jene Datenbanken, die nicht die SQL-Sprache zum Abfragen der Daten verwenden.
Schlüsselmerkmale von MongoDB
MongoDB ist eine sehr JavaScript-freundliche Datenbank. Es stellt eine JavaScript-API bereit, die wir verwenden können, um Datenbanken und Sammlungen von Objekten (als Dokumente bezeichnet) zu erstellen ).
Es ist schemalos , was bedeutet, dass Sie keine Struktur für die Daten vordefinieren müssen, bevor Sie sie speichern.
In MongoDB können Sie jedes Objekt speichern, ohne sich Gedanken über die einzelnen Felder machen zu müssen, aus denen dieses Objekt besteht, und wie sie gespeichert werden. Sie weisen MongoDB an, dieses Objekt zu speichern.
Daten werden in einem ähnlichen Format wie JSON gespeichert, aber erweitert, um das Speichern von mehr als nur grundlegenden Datentypen zu ermöglichen.
Installation
Lassen Sie uns fortfahren und MongoDB installieren. Sie könnten einen der vielen Cloud-Anbieter verwenden, die Zugriff auf eine MongoDB-Instanz anbieten, aber zum Lernen installieren wir sie selbst.
Ich verwende einen Mac, daher beziehen sich die Installationsanweisungen in diesem Tutorial auf dieses Betriebssystem.
Öffnen Sie das Terminal und führen Sie Folgendes aus:
brew tap mongodb/brew
brew install mongodb-community
Das ist es.
Die Anweisungen waren nicht zu lang oder kompliziert, vorausgesetzt, Sie wissen, wie man das Terminal benutzt und wie man Homebrew installiert.
Die Installation sagt uns Folgendes:
To have launchd start mongodb now and restart at login:
brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
mongod --config /usr/local/etc/mongod.conf
Sie können MongoDB entweder einmal starten und für immer als Hintergrunddienst auf Ihrem Computer ausführen (was ich bevorzuge), oder Sie können es nur dann ausführen, wenn Sie es brauchen, indem Sie den letzteren Befehl ausführen.
Die Standardkonfiguration für MongoDB ist diese:
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1
Protokolle werden in /usr/local/var/log/mongodb/mongo.log
gespeichert und die Datenbank wird in /usr/local/var/mongodb
gespeichert .
Standardmäßig gibt es keine Zugriffskontrolle, jeder kann in der Datenbank lesen und schreiben.
Die Mongo-Muschel
Der beste Weg, mit MongoDB zu experimentieren und damit zu interagieren, ist die Ausführung von mongo
Programm, das die MongoDB-Shell startet.
Sie können jetzt jeden Befehl eingeben, den Mongo versteht.
Datenbank erstellen
Wenn Sie beginnen, erstellt Mongo eine Datenbank namens test
. Führen Sie db
aus in der Shell, um Ihnen den Namen der aktiven Datenbank mitzuteilen
Um die Datenbank zu ändern, schreiben Sie einfach use newname
und der newname
Datenbank wird sofort erstellt und die Shell wechselt zur Verwendung dieser.
Verwenden Sie show databases
um die verfügbaren Datenbanken aufzulisten:
Wie Sie sehen können, das something
Datenbank nicht aufgeführt, nur weil noch keine Sammlung darin ist. Lassen Sie uns eine erstellen.
Sammlungen
In MongoDB eine Sammlung ist das Äquivalent einer SQL-Datenbanktabelle.
Sie erstellen eine Sammlung in der aktuellen Datenbank, indem Sie db.createCollection()
verwenden Befehl. Das erste Argument ist der Datenbankname, und Sie können ein Optionsobjekt als zweiten Parameter übergeben.
Sobald Sie dies getan haben, show databases
wird die neue Datenbank auflisten und show collections
listet die Sammlung auf.
Sie können auch eine neue Sammlung erstellen, indem Sie sie als Eigenschaft von db
verwenden Objekt und Aufrufen von insert()
So fügen Sie der Sammlung ein Objekt hinzu:
db.dogs.insert({ name: 'Roger' })
Objekte in einer Sammlung auflisten
Um die zu einer Sammlung hinzugefügten Objekte anzuzeigen, verwenden Sie find()
Methode:
Wie Sie sehen können, gibt es eine zusätzliche _id
-Eigenschaft für den von uns hinzugefügten Datensatz. Das wird von MongoDB automatisch für uns generiert.
Fügen Sie jetzt weitere Hunde hinzu:
db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })
Aufruf von db.dogs.find()
gibt uns alle Einträge, während wir einen Parameter übergeben können, um einen bestimmten Eintrag zu filtern und abzurufen, zum Beispiel mit db.dogs.find({name: 'Roger'})
:
Das find()
-Methode gibt einen Cursor zurück, den Sie durchlaufen müssen.
Es gibt eine andere Methode, die praktisch ist, wenn Sie wissen, dass Sie nur einen Datensatz erhalten, nämlich findOne()
, und es wird auf die gleiche Weise verwendet. Wenn mehrere Datensätze mit einer Abfrage übereinstimmen, wird nur der erste zurückgegeben.
Datensätze aktualisieren
Um einen Datensatz zu aktualisieren, können Sie update()
verwenden Methode für eine Sammlung:
Entfernen von Datensätzen
Sie können einen Datensatz entfernen, indem Sie remove()
aufrufen Methode für eine Sammlung, wobei ein Objekt übergeben wird, um es zu identifizieren:
Um alle Einträge aus einer Sammlung zu entfernen, übergeben Sie ein leeres Objekt:
db.dogs.remove({})