Latest web development tutorials

MongoDB analytisches Konzept

Ob wir lernen, welche Datenbank eine der grundlegenden Konzepte in mongodb Grundkonzept lernen sollten, ist, dass die Dokumente, Sammlungen, Datenbanken, hier sind wir eins nach dem anderen vor.

Die folgende Tabelle hilft Ihnen leichter Mongo einige der Konzepte zu verstehen:

SQL-Terminologie / Konzepte MongoDB Begriff / Konzept Erläuterung / Beschreibung
Datenbank Datenbank Datenbank
Tabelle Sammlung Die Datenbanktabelle / Sammlungen
Reihe Dokument Line-Datenaufzeichnung / Dokumentation
Spalte Feld Datenfeld / Domain
Index Index Index
Tabellen-Joins Tabelle beitritt, ist MongoDB nicht unterstützt
Primärschlüssel Primärschlüssel Primärschlüssel, MongoDB automatisch _id Feld als Primärschlüssel

Durch die folgende Abbildung Beispiele, können wir mehr intuitives Verständnis von Mongo einige Konzepte:


Datenbank

Ein mongodb können mehrere Datenbanken erstellen.

Die Standard-Datenbank MongoDB ist "db" wird die Datenbank im Datenverzeichnis gespeichert.

Eine einzelne Instanz von MongoDB kann mehrere unabhängige Datenbanken aufnehmen, die jeweils mit einem eigenen Satz von Berechtigungen und verschiedenen Datenbanken werden auch in verschiedenen Dateien abgelegt.

"Show dbs" Befehl , um eine Liste aller Daten anzuzeigen.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
> 

Die Umsetzung der "db" Befehl , um die aktuelle Datenbankobjekt oder Sammlung anzuzeigen.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
> 

Run "verwenden" Befehl können Sie zu einer bestimmten Datenbank zu verbinden.

> use local
switched to db local
> db
local
> 

Beispiele für den obigen Befehl "local" ist, dass Sie Datenbank verknüpfen möchten.

Im nächsten Kapitel werden wir im Detail die Verwendung von MongoDB im Kommando erklären.

Datenbank auch mit Namen identifiziert werden. Name der Datenbank kann eine der folgenden Bedingungen UTF-8-String sein.

  • Es kann keine leere Zeichenfolge ( "") sein.
  • Nicht enthalten '' (Leerzeichen)., $, /, \ Und \ 0 (null Yu Fu).
  • Es sollte alles klein geschrieben werden.
  • Bis zu 64 Byte.

Einige Datenbanknamen sind reserviert und können direkt darauf zugreifen diese Datenbanken haben eine besondere Rolle.

  • Admin: aus der Sicht der Behörde, die die "root" Datenbank ist. Wenn Sie einen Benutzer der Datenbank hinzufügen, erbt der Benutzer automatisch alle Berechtigungen Datenbank. Einige spezielle serverseitige Befehle können nur aus der Datenbank ausgeführt werden, wie zum Beispiel eine Liste aller Datenbank oder Server.
  • local: Diese Daten werden niemals kopiert werden, kann jede Sammlung zu speichern , verwendet werden , ist auf einen einzelnen lokalen Server beschränkt
  • config: Wenn Mongo auf Fragmentierung festgelegt ist, Konfigurationsdatenbank intern zum Speichern von Slice - Informationen verwendet.

Datei

Die Dokumentation ist ein Schlüssel (Schlüssel-Wert) (dh BSON). MongoDB Dokument braucht nicht das gleiche Feld zur Verfügung gestellt werden, das gleiche Feld und erfordert nicht den gleichen Datentyp, die eine relationale Datenbank ist sehr unterschiedlich ist, MongoDB ebenfalls sehr wichtiges Merkmal.

Ein einfaches Dokument Beispiele sind wie folgt:

{"site":"www.w3big.com", "name":"本教程"}

In der folgenden Tabelle sind die RDBMS und MongoDB entsprechenden Begriffe:

RDBMS MongoDB
Datenbank Datenbank
Tabelle Set
Reihe Datei
Reihe Feld
Gemeinsame Tabelle Embedded-Dokument
Primärschlüssel Primärschlüssel (MongoDB liefert einen Schlüssel für die _id)
Dienstleistungen einer Datenbank und Kunden
Mysqld / Oracle mongod
mysql / sqlplus mongo

Beachten Sie, dass:

  1. Document Schlüssel / Wert-Paare werden bestellt.
  2. Dokument kann nicht nur der Wert der Zeichenfolge innerhalb der doppelten Anführungszeichen auch einige andere Datentypen (oder sogar die gesamte eingebettete Dokumente) sein kann.
  3. MongoDB, um die Arten und sensible unterscheiden.
  4. MongoDB Dokument kann nicht doppelte Schlüssel haben.
  5. Key Dokument ist eine Zeichenfolge. Mit wenigen Ausnahmen kann der Schlüssel keine UTF-8-Zeichen verwenden.

Wichtige Dokumente Namenskonvention:

  • Key kann nicht \ 0 (Null-Zeichen) enthalten. Dieses Zeichen wird verwendet, um das Ende der Bindung anzuzeigen.
  • . Und spezielle $ haben Sinn nur unter bestimmten Umständen verwendet werden.
  • Zu unterstreichen "_" am Anfang der Tasten sind reserviert (nicht unbedingt erforderlich).

Set

MongoDB ist eine Sammlung Dokumentengruppe, ähnlich dem RDBMS (Relational Database Management System: Relational Database Management System) in Form.

Sammlung in der Datenbank vorhanden, eine Sammlung von ohne feste Struktur, was bedeutet, dass Sie bei der Sammlung von Daten in verschiedenen Formaten und Typen einfügen können, aber in der Regel setzen wir eine Reihe von Daten wird eine gewisse Bedeutung haben.

Zum Beispiel können wir diese unterschiedlichen Datenstrukturen in die Sammlung zu dokumentieren:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.w3big.com","name":"本教程","num":5}

Wenn das erste Dokument in der Sammlung wird erstellt.

Legitime Kollektionsnamen

  • Sammlung Name kann nicht leere Zeichenkette sein "."
  • Legen Sie Namen Namen nicht \ 0-Zeichen (Null-Zeichen), zeigt dieses Zeichen das Ende einer Sammlung enthalten kann.
  • Set-Name kann nicht "System" sein. Am Anfang, die für das System eingestellten Präfix reserviert ist.
  • Vom Benutzer erstellte Sammlung Name reservierte Zeichen enthalten. Einige Treiber unterstützen die Sammlung, die den Namen enthält, ist dies, weil einige vom System generierte Sammlung der Zeichen enthält. Es sei denn, Sie eine Sammlung von solchen Systems zugreifen möchten, erstellt wird, sonst erscheinen nicht innerhalb in $ name.

Die folgenden Beispiele:

db.col.findOne()

capped Sammlungen

Capped Sammlungen sind fester Größe Sammlung.

Es hat eine hohe Leistungseigenschaften und die Warteschlange abgelaufen (abgelaufen gemäß der Reihenfolge der Einfügung). Etwas ähnliches und "RRD" -Konzept.

Capped Sammlungen werden automatisch eingefügt, um hochperformante Objekt halten. Es ist ideal für Funktionen und ähnliche Standardprotokollierung Sammlung von verschiedenen, müssen Sie explizit eine verkappte Sammlung, eine Sammlung von der angegebenen Größe in Bytes erstellen. Sammlung von Datenspeicherraumwerte im Voraus zugeordnet.

Es ist, dass die angegebene Speichergröße der Datenbank festgestellt, dass die Header-Informationen enthält.

db.createCollection("mycoll", {capped:true, size:100000})
  • In capped Sammlung, können Sie neue Objekte hinzufügen.
  • Kann jedoch aktualisiert werden, wird das Objekt nicht den Speicherplatz zu erhöhen. Wenn Sie das Update erhöhen wird fehlschlagen.
  • Die Datenbank erlaubt nicht das Löschen. Verwenden Drop () -Methode alle Zeilen Sammlung zu löschen.
  • Hinweis: Wenn Sie zu löschen, müssen Sie explizit die Sammlung neu zu erstellen.
  • In 32 - Bit - Maschinen, mit einer Kappe bedeckt Sammlung ist die größte Speicher 1e9 (1x10 9) Bytes.

Metadaten

Informationen in der Datenbank befindet sich in der Sammlung gespeichert. Sie verwenden den Namespace-System:

dbname.system.*

In MongoDB Datenbank Namespace <dbname> .system *, dass enthält eine Vielzahl von Systeminformationen, Sondersammlungen (Sammlung), wie folgt:

Sammlung Namespace Beschreibung
dbname.system.namespaces Liste aller Namensräume.
dbname.system.indexes Liste aller Indizes.
dbname.system.profile Es enthält die Datenbank Zusammenfassung (Profil) Informationen.
dbname.system.users Liste aller Benutzer können auf die Datenbank zugreifen.
dbname.local.sources Es enthält eine Kopie des Endes (Slave) Serverinformationen und Status.

So ändern Sie das Systemobjekt in der Sammlung die folgenden Einschränkungen hat.

In den {{system.indexes}} Daten einfügen, können Sie einen Index erstellen. Aber sonst die Tabelleninformation ist unveränderlich (der Sonderabfall-Index-Befehl automatisch die relevanten Informationen zu aktualisieren).

{{System.users}} modifizierbar sind. {{System.profile}} wird gelöscht.


MongoDB Datentyp

Die folgende Tabelle MongoDB mehrere häufig verwendete Datentypen.

Datentypen Beschreibung
Schnur String. Das Speichern von Daten häufig verwendeten Datentypen. In MongoDB ist UTF-8 kodierten String legal.
ganze Zahl Integer-Werte. Es verwendet, um Werte zu speichern. Je nach Server, den Sie verwenden, können sie in 32-Bit- oder 64-Bit aufgeteilt werden.
Boolean Booleschen Wert. Für Boolesche Werte (true / false) zu speichern.
doppelt Double-Precision-Fließkommawert. Bei Fließkommawerte zu speichern.
Min / Max-Tasten Der Minimalwert und ein Wert BSON (binär JSON) Element und der höchste Wert des relativen Verhältnisses.
Arrays Für Array oder eine Liste oder zu speichern mehrere Werte für einen Schlüssel.
Zeitstempel Zeitstempel. Ändern oder fügen Sie Aufzeichnungen dokumentieren die bestimmte Zeit.
Objekt Für eingebettete Dokumente.
nichtig Es schafft einen leeren Wert.
Symbol Symbol. Dieser Datentyp wird im wesentlichen gleich dem String-Typ, aber der Unterschied ist, dass es in der Regel für die Verwendung von Sonderzeichen eingegeben Sprache.
Datum Datum Zeit. UNIX-Zeitformat zu speichern, das aktuelle Datum oder Zeit verwendet. Date-Objekt wird erstellt, die eingehende aktuelle Informationen: Sie können Ihr eigenes Datum und die Uhrzeit angeben.
Objekt-ID Objekt-ID. ID verwendet, um das Dokument zu erstellen.
Binärdaten Binärdaten. Für binäre Daten zu speichern.
Code Tag-Typ. JavaScript-Code wird zum Speichern von Dokumenten verwendet.
Regulärer Ausdruck Regulärer Ausdruck Typ. Für den regulären Ausdruck zu speichern.