Datenbank

Datenbanken werden von MongoDB automatisch angelegt, indem man die Datenbank mit use anspricht.
Der Daemon legt beim Initialisieren zwei neue Dateien im Datenverzeichnis an.
.0 ist zur Speicherung von Dokumenten im BSON-Format.
.ns enthält eine Liste der vorhandenen Collections.

Nachdem man eine Datenbank angesprochen hat kann man diese auch wieder entfernen.

Die Datenbank kann neugeschrieben werden was aber weitere Operationen blockiert.

Collection

Collections gruppieren Dokumente und können mit Tabellen in einem RDBMS verglichen werden. Sie können beliebig benannt werden (Buchstaben, Zahlen und Unterstriche) max. 128 Zeichen.

Eine Collection kann mit der Methode copyTo() kopiert werden.

Um eine Collection zu löschen wird die drop() Methode verwendet.

Um die Daten einer Collection neu zuschreiben wird compact genutzt.

Die Kombination von db.getCollectionNames und db.runCommand kann dies für alle Collections ausführen, was dann aber keinen Unterschied zu db.repairDatabase() darstellt.

Capped Collection
Besitzen eine bestimmte Größe und nutzen FIFO (First in First out).

Sind für Log-Einträge geeignet.

System Collection
Hier werden Metainformationen zur Datenbank gespeichert, sie sind schreibgeschützt.

system.namespaces
Namespaces einer Datenbank.

system.indexes
Indizes für die einzelnen Collections.

Index
Es gibt eine Collection system.indexes wo die Index Deklarationen gespeichert werden.
Die Indizes einer Collection kann man mit getIndexes abfragen.

MongoDB erstellt einen Standard Index für das _id Feld.

Einen Index erstellt man mit ensureIndex.

Löschen kann man einen Index mit dropIndex.

system.profile
In dieser Collection werden Infomationen zum Profiling gespeichert.

system.users
MongoDB nutzt diese Collection bei der Zugriffskontrolle.

Benutzer anzeigen

Einen Benutzer hinzufügen

Einen Benutzer entfernen

Dokument

Die Dokumente sind auf eine Größe von 16 MB beschränkt.
Das Datenformat für Dokumente ist BSON (Binary JSON), eine JSON Erweiterung.

JSON-Standard
String, Integer, Boolean, Double, Array, Timestamp, Object, Null

BSON-Erweiterung
Date, Object ID, Binary Data, Regular Expressions
BSON Spezifikation

ObjektId
Diese wird immer unter _id gespeichert und automatisch beim speichern generiert.

DBRef
Zeigt auf ein Dokument in der gleichen oder einer anderen Collection.

JavaScript shell
Auf der Konsole arbeitet man über die JavaScript Shell mit der Datenbank.

Daten eintragen
Die Methode insert kann ein Dokument oder ein Array von Dokumenten speichern.

Bei der Methode save() entscheidet MongoDB selbst, ob ein Insert oder Update ausgeführt wird. Die Methode erwartet ein Dokument als Parameter.

Daten abfragen

Es werden Vergleichsoperatoren geboten, um Werte kleiner gleich $lt oder größer gleich $gt abzufragen.

Mit $and und $or kann man logisches und/oder abfragen.

Um zu schauen ob ein Feld existiert wird $exists geboten.

Daten ändern

Um ein bestehendes Dokument zu überschreiben, wird diese Syntax genutzt.

Möchte man das Dokument nicht schreiben sondern nur Werte ersetzen, wird diese Syntax genutzt.

Mit upsert wird ein Update oder Insert ausgeführt, abhängig davon ob das Dokument vorhanden ist, dazu setzt man den dritten Parameter auf true.

Soll mehr als ein Dokument erstezt werden setzt man multiple.

Daten löschen

Soll nur ein Dokument gelöscht werden, setzt man den justOne Parameter.

Ohne den Query Parameter werden alle Dokumente gelöscht, der Index bleibt erhalten.