MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So erstellen, zeigen und löschen Sie Sammlungen in MongoDB

MongoDB ist eine Open-Source-NoSQL-Datenbank, was bedeutet, dass sie im Gegensatz zu relationalen Datenbanken keine Eingabewerte im Tabellenformat akzeptiert. Daten werden in Sammlungen und Dokumenten gespeichert, da MongoDB eine dokumentenorientierte Datenbank ist. Zeilen in einer SQL-Tabelle wurden durch Dokumente in MongoDB ersetzt.

Dieser Artikel geht davon aus, dass Sie den MongoDB-Server bereits auf Ihrem Computer installiert und eine Shell mit dem Server verbunden haben. Wenn Sie dies bereits getan haben, können wir einige Funktionen von MongoDB untersuchen, aber zuerst einige Terminologien:Wenn nicht, können Sie den Artikel zur Installation von MongoDB unter Ubuntu lesen.

  • Datenbank – Dies ist ein physischer Container, der eine Reihe von Sammlungen enthält. Es kann null oder mehr Sammlungen enthalten. Es gibt keine Begrenzung dafür, wie viele Datenbanken in einer einzelnen Serverinstanz gehostet werden können, da sie mehrere Datenbanken hosten kann. Seine einzige Grenze ist der Adressraum des virtuellen Speichers, den das zugrunde liegende Betriebssystem zuweisen kann.
  • Sammlung – eine Reihe von MongoDB-Dokumenten, die „Tabellen“ in relationalen Datenbanksystemen ähneln. Eine Sammlung enthält Dokumente mit ähnlichen oder verwandten Zwecken. Sammlungen sind schemalos, was bedeutet, dass Dokumente innerhalb derselben Sammlung unterschiedliche Felder haben können.
  • Dokument – Dies ist die Grundeinheit zum Speichern von Daten in MongoDB. Sie sind analog zu ROW in traditionellen relationalen Datenbanksystemen. Dokumente sind geordnete Sätze von Schlüssel-Wert-Paaren, was bedeutet, dass es für jeden Schlüssel einen zugeordneten Wert gibt. Sie werden oft als „Objekte“ bezeichnet. Sie werden in einem JSON-ähnlichen Format (Schlüssel-Wert-Paare) dargestellt. Daten werden in einer binären Darstellung von JSON-ähnlichen Daten, bekannt als BSON, gespeichert und abgefragt. Ein Beispiel für dieses Format ist unten dargestellt:
{
Student_enroll: “foss123”,
grade: ‘B’
}
  • Feld – dies ist das Äquivalent zu Spalten in relationalen Datenbanken. Es wird zusammen mit seinem Wert in Schlüssel-Wert-Paaren gespeichert. Dokumente in einer Sammlung können null oder mehr Felder haben.
  • _id – Dies ist ein Pflichtfeld in jedem MongoDB-Dokument. Wenn ein Benutzer ein Dokument ohne ein _id-Feld erstellt, erstellt MongoDB automatisch das Feld. _IDs werden verwendet, um eindeutige Dokumente in einer Sammlung darzustellen. Sie fungieren als Primärschlüssel von Dokumenten.

Erstellen einer MongoDB-Datenbank

Die Datenbankerstellung in MongoDB erfolgt implizit, wenn Sie versuchen, eine Datenbank zu verwenden. Um eine Datenbank zu erstellen, geben Sie Folgendes in die Mongo-Shell ein:

> use fossDB

Ausgabe:

Hinweis: Um die Mongo-Shell zu öffnen, führen Sie den folgenden Befehl aus:

mongo

MongoDB überprüft zunächst, ob eine Datenbank namens fossDB vorhanden ist. Wenn nicht, wird ein neues erstellt, das verwendet werden kann. Die Mongo-Shell wechselt dann zu fossDB. Das bedeutet, dass alle Sammlungen und Dokumente, die erstellt, aktualisiert oder gelesen werden, aus dieser Datenbank stammen, sofern nicht anders angegeben.

Um auszudrucken, in welcher Datenbank Sie sich gerade befinden, verwenden Sie den Befehl > db . Um alle verfügbaren und erstellten Datenbanken aufzulisten, verwenden Sie den Befehl >show . Ein Beispiel für diese verwendeten Befehle ist unten gezeigt;

>db
fossDB
>show dbs
admin  0.000GB
config  0.000GB
local    0.000GB
mydb   0.000GB

Ausgabe:

Hinweis: Greifen Sie nicht in die Admin- und Konfigurationsdatenbanken ein, da Mongo sie für Verwaltungszwecke verwendet.

Erstellen einer MongoDB-Sammlung

Um eine Sammlung zu erstellen, stellen Sie zunächst sicher, dass Sie sich in der richtigen Datenbank befinden, in der Sie die Sammlung erstellen möchten. Es gibt zwei Möglichkeiten, eine Sammlung zu erstellen:

1. Explizit eine Sammlung erstellen

Verwenden Sie den folgenden Befehl:

>db.createCollection("Collection1");
{"ok":1}

Ausgabe:

Dieser Befehl erstellt dann eine Sammlung namens Collection1

2. Ein Dokument in eine neue Sammlung einfügen

Sie können schnell versuchen, ein Dokument in eine nicht vorhandene Sammlung einzufügen. Dadurch wird Mongo aufgefordert, eine neue Sammlung für Sie zu erstellen. Beachten Sie, dass dies zwar in Bezug auf die programmgesteuerte Erstellung von Sammlungen praktisch ist, aber wenn Sie die Mongo-Shell verwenden und beim Einfügen eines Dokuments irgendwo einen Tippfehler machen, kann das Dokument in einer neuen Datenbank landen, von der Sie nichts wissen.

Die Syntax zum Erstellen einer neuen Sammlung lautet;

db.collection_name.insert(document); 

Um eine Sammlung Collection2 in der fossDB-Datenbank zu erstellen, verwenden Sie den folgenden Befehl:

> db.Collection2.insert({name: "Alex",key: "value",age: 20});

Ausgabe:

In diesem Beispiel wird der Dokumentteil durch die folgende JSON-Zeichenfolge dargestellt:

{
name: "Alex",
key: "value"
age: 20
}

Dies sind die für einen JSON-String typischen Schlüssel-Wert-Paare. Der „Name“ ist der Schlüssel und „Alex“ ist der Wert. Ein Benutzer kann in dieser Sammlung mehrere Dokumente mit dem Schlüsselnamen und einem anderen Wert haben, z. B. Max.

Verwenden Sie den folgenden Befehl, um alle Sammlungen in einer Datenbank aufzulisten:

> show collections
Collection1
Collection2

Ausgabe:

Aus der Ausgabe werden Sie feststellen, dass beide Sammlungen erstellt wurden. Sie sind sicher, dass Sie ein neues Dokument zu einer Sammlung hinzufügen können.

Sammlungen anzeigen

Falls Sie es noch nicht bemerkt haben, wir haben das Schlüsselwort show ziemlich häufig verwendet, während wir die anderen Befehle besprochen haben. Um dies noch einmal zusammenzufassen, der Befehl zum Anzeigen von Sammlungen und Datenbanken lautet:

>show collections
>show dbs

Ausgabe:

In Verbindung mit dem Befehl db, Diese Befehle werden verwendet, um die aktuelle Datenbank auszudrucken, und sind ziemlich praktisch bei der Interaktion mit der Mongo-Shell.

Löschen von MongoDB-Sammlungen und -Datenbanken

Der Drop-Befehl ist ein Schlüsselwort, das wir in diesem Artikel nicht angesprochen haben. Es ist ein Befehl, der verwendet wird, um Sammlungen oder ganze Datenbanken vom Mongo-Server eines Benutzers zu entfernen. Zum Löschen führt Sie die folgende Syntax durch den Vorgang.

1. Sammlungen löschen

Wir werden die zuvor erstellte Sammlung „Collection2“ entfernen. Verwenden Sie dazu den folgenden Befehl:

>db.Collection2.drop()

Ausgabe:

Um zu überprüfen, ob die Sammlung gelöscht wurde, können Sie den Befehl show collections verwenden, um die verbleibenden Sammlungen aufzulisten. Sie werden feststellen, dass eine Sammlung in der Liste fehlt.

2. Löschen von Datenbanken

Bevor Sie den Befehl zum Löschen der Datenbank ausführen, sollten Sie überprüfen, ob Sie sich in der richtigen Datenbank befinden, da Sie sonst möglicherweise die falsche Datenbank loswerden und am Ende wertvolle Daten verlieren, die Sie nicht löschen wollten. In diesem Beispiel löschen wir die zuvor erstellte Datenbank fossDB. Stellen wir mit dem folgenden Befehl sicher, dass wir uns in der richtigen Datenbank befinden:

>db
fossDB

Ausgabe:

Lassen Sie uns dann die Datenbank mit dem folgenden Befehl löschen:

>db.dropDatabase();

Ausgabe:

Im Folgenden stellen wir verschiedene SQL-Begriffe und die entsprechenden MongoDB-Begriffe vor;

SQL-Begriffe MongoDB-Begriffe
Datenbank Datenbank
Tabelle Sammlung
Index Index
Zeile Dokument / BSON-Dokument
Spalte Feld
Tabellenverknüpfungen Eingebettete Dokumente und Verlinkung
Primärschlüssel – in SQL gibt dies jede eindeutige Spalte oder Spaltenkombination an Primärschlüssel – dieser Schlüssel wird automatisch auf das _id-Feld in MongoDB gesetzt

Schlussfolgerung

MongoDB hat aufgrund der JSON-ähnlichen Darstellung, Skalierbarkeit, Einfachheit und dynamischen Art der Dokumentenerstellung eine enorme Popularität in der Welt der Entwickler erlangt. In diesem Artikel wurden die drei Befehle besprochen, die in der MongoDB-Shell verwendet werden. Wir hoffen, dass dieser Artikel Ihnen geholfen hat, diese Befehle besser zu verstehen. Wenn Sie nach einer Datenbank suchen, die in einem Projekt für Data-Heavy-Lifting verwendet werden soll, ist MongoDB eine gute Option, die Sie vielleicht in Betracht ziehen sollten.