Database Reference
In-Depth Information
>db.produkte.find({“typ“:“Ei“}) : Innerhalb der find -Funktion haben wir jetzt
einen Filter gesetzt. Diese Filter begegnen uns auch bei Operationen wie update .
>db.produkte.update({“typ“:“Ei“},{“typ“:“grosses
Ei“,“gueteklasse“:“A“,“haltung“:“Freilandhaltung“}) : Mit update werden be-
stehende Dokumente verändert. In der einfachsten Version wird das Dokument,
das wir mit “typ“:“Ei“ suchen, durch den Inhalt {“typ“:“grosses
Ei“,“gueteklasse“:“A“,“haltung“:“Freilandhaltung“} ersetzt. Im Gegensatz zu
CouchDB können aber auch einzelne Felder eines Dokuments verändert bzw. hin-
zugefügt werden:
>db.produkte.update({“typ“:“grosses Ei“},{$set:{“preis“:0.90}}) : Mit dem
Operator $set wird definiert, dass in dem Dokument vom Typ „grosses Ei“ das
Element „preis“ auf 0.90 gesetzt wird. Ist dieses Element nicht vorhanden, wird
es erzeugt.
>db.produkte.update({“preis“:{$exists:false}},{$set:{“preis“:1.20}},true,true) :
Was passiert hier? Wir suchen ein Produkt, bei dem das Feld „preis“ nicht exis-
tiert, setzten dort den Preis auf 1.20 , der dritte Parameter bestimmt, dass das Da-
tenfeld angelegt werden soll, wenn es nicht existiert , und der vierte Parame-
ter legt fest, dass alle Dokumente untersucht und verändert werden sollen (per
Default: nur das erste gefundene Dokument).
>db.produkte.update({},{$set:{“anzahl“:1}},true,true) : So langsam erschließt
sich einem die Logik: Wir wollen diesmal alle Produkte (daher eine leere Bedin-
gung) um das Feld „anzahl“ mit dem Wert 1 erweitern,
>db.produkte.update({“typ“:“grosses Ei“},{$inc:{“anzahl“:-1}},true,true) : Die
Stärke von MongoDB liegt auch in den Operationen, die auf Datensätze ausge-
führt werden können. Hier verändern wir einen Datenwert, ohne ihn zuerst ausle-
sen zu müssen. Da es nur ein $inc gibt, müssen wir zum verringern des Bestandes
den Wert von „anzahl“ um -1 erhöhen. Soweit der erste Kontakt mit MongoDB.
Natürlich wollen wir nun endlich MongoDB mit PHP nutzen.
RockMongo
Nun ist die Shell nicht gerade eine besonders leichte Art, die Daten in der Datenbank anzu-
zeigen. Falls Sie gerne mit phpMyAdmin arbeiten, habe ich eine Empfehlung: RockMongo
[6] ist eine an phpMyAdmin angelehnte Oberfläche für MongoDB. Laden Sie die letzte
Revision herunter und kopieren das Verzeichnis „rockmongo“ auf Ihren Webserver. Ein
kurzer Blick in die config.php in dem Verzeichnis zeigt das hinterlegte Standard-Log-in
( „admin/admin“ ) an. Damit können Sie sich einloggen und haben eine nahezu vertraute
Umgebung für den Umgang mit MongoDB.
Search WWH ::




Custom Search