Database Reference
In-Depth Information
Vielleicht ist Ihnen aufgefallen, dass die JSON-Ausgabe der von uns neu
eingefügten Stadt ein _ id -Feld namens ObjectId enthält. Das ähnelt dem
SERIAL -Inkrement eines numerischen Primärschlüssels bei PostgreSQL. Die
ObjectId ist immer 12 Bytes lang und besteht aus einem Zeitstempel, der ID
des Client-Rechners, der ID des Client-Prozesses und einem drei Byte großen
inkrementierten Zähler. Das Byte-Layout ist in Abbildung 21, Beispiel für ein
ObjectId-Layout zu sehen.
4d 0a d9 75
bb 30 77 32 66 f3
9f
e3
0
1
2
3
4
5
6
7 8
pid
9
10 11
inc
time
mid
Abbildung 21: Beispiel für ein ObjectId-Layout
Das Gute an diesem Autonummierungsschema ist, dass jeder Prozess auf
jedem Rechner seine eigene ID-Generierung handhaben kann, ohne mit an-
deren mongod -Instanzen zu kollidieren. Diese Design-Entscheidung gibt einen
Hinweis auf Mongos verteilte Natur.
JavaScript
Mongos Muttersprache ist JavaScript, egal ob komplexe Dinge wie Mapreduce-
Queries oder etwas so Einfaches wie um Hilfe zu fragen.
> db.help()
> db.towns.help()
Diese Befehle führen die Funktionen auf, die es für das gegebene Objekt gibt.
db ist ein JavaScript-Objekt mit Informationen über die aktuelle Datenbank.
db.x ist ein JavaScript-Objekt, das eine Collection (namens x ) repräsentiert.
Befehle sind einfach JavaScript-Funktionen.
> typeof db
object
> typeof db.towns
object
> typeof db.towns.insert
function
Wenn Sie den Quellcode einer Funktion untersuchen wollen, rufen Sie sie
einfach ohne Parameter oder Klammern auf (denken Sie mehr an Python als
an Ruby).
 
Search WWH ::




Custom Search