Der erste Schritt bei der Verwendung von MongoDB besteht darin, die grundlegenden Konzepte von MongoDB und dem Datenmodell (Datenstruktur) zu verstehen und zu wissen, wie die Daten gespeichert sind. Tatsächlich ist MongoDB sehr ähnlich wie MySQL, sodass jeder, der MySQL kennt, keine Schwierigkeiten haben wird, MongoDB zu lernen.

Grundkonzepte von MongoDB

Datenbank

Die MongoDB-Datenbank ist genauso wie die MySQL-Datenbank.

Kollektion

Eine MongoDB-Kollektion bezieht sich auf eine Sammlung von Dokumentendaten, ähnlich dem Konzept einer Tabelle in MySQL.

Dokument

Ein MongoDB-Dokument, das ähnlich wie eine Datensatz in einer MySQL-Tabelle ist, ist eine in JSON strukturierte Daten, die aus mehreren Feldern besteht. Dadurch ist die Dokumentenstruktur in MongoDB sehr flexibel.

Feld

Ein MongoDB-Dokumentenfeld ist ähnlich dem Konzept eines Feldes in einer MySQL-Tabelle und repräsentiert die spezifischen zu speichernden Daten. Jedes Feld hat seinen eigenen Datentyp.

Index

Der MongoDB-Index ähnelt dem MySQL-Index und dient dazu, die Abfrageeffizienz zu verbessern.

Aggregation

Das Konzept der MongoDB-Aggregation ist ähnlich der Gruppierung/Numerierung/Summierung in MySQL und wird für die statistische Datenanalyse verwendet.

Vergleich der Konzepte zwischen MongoDB und MySQL

MYSQL MongoDB
Datenbank Datenbank
Tabelle Kollektion
Zeile Dokument
Spalte Dokumentenfeld
Index Index
Gruppierung (z. B. group by) Aggregation

Im Wesentlichen lassen sich die Konzepte von MongoDB mit MySQL abgleichen, sodass MongoDB die datenähnlichste nicht-relationale Datenbank zu relationalen Datenbanken (NoSQL) ist.

MongoDB-Dokumentdaten

Ein Dokument ist einfach eine JSON-Struktur, die aus mehreren Feldern besteht, und jedes Feld hat seinen eigenen Datentyp. Bei der Entwicklung mit MongoDB liegt der Schwerpunkt hauptsächlich darauf, wie die Dokumentenstruktur entworfen wird, ähnlich wie das Kernstück bei der Verwendung von MySQL darin besteht, Tabellenstrukturen zu entwerfen.

Beispiel für MongoDB-Dokumentendaten:

{
  "_id": "5cf0029caff5056591b0ce7d",
  "vorname": "Jane",
  "nachname": "Wu",
  "adresse": {
    "straße": "1 Circle Rd",
    "stadt": "Los Angeles",
    "bundesland": "CA",
    "postleitzahl": "90404"
  },
  "hobbies": ["Surfen", "Codieren"]
}

Es kann sich um beliebig verschachtelte JSON-Strukturen handeln, was mit MySQL-Tabellenstrukturen nicht möglich ist. Das _id-Feld dient als Primärschlüssel des Dokuments und wenn Sie keinen bestimmten Wert angeben, generiert MongoDB einen eindeutigen Wert nach dem Zufallsprinzip.

Der größte Unterschied in der Datenstruktur zwischen MongoDB und MySQL-Tabellen besteht darin, dass MongoDB keine vordefinierte Dokumentenstruktur erfordert. Mit MongoDB können Sie direkt JSON-Daten in eine Kollektion einfügen, ohne dass ein zuvor festgelegtes Schema erforderlich ist. Jedes Mal, wenn Sie JSON-Daten in eine MongoDB-Kollektion schreiben, kann das Format unterschiedlich sein und es können Felder nach Belieben hinzugefügt oder entfernt werden.

Hinweis: Obwohl die Dokumentenstruktur von MongoDB sehr flexibel ist und unterschiedliche Datenformate für jeden Eintrag aufnehmen kann, ist die Datenstruktur innerhalb einer Kollektion in der praktischen Anwendung in der Regel einheitlich. Andernfalls, wenn das Format jedes Eintrags innerhalb der Kollektion unterschiedlich ist, wäre die Verwaltung ein Albtraum, da Sie jedes Mal nicht wissen würden, welches Format die abgerufenen Daten haben.