Database Reference
In-Depth Information
namen benutzt. Zur Unterscheidung zu Datendokumenten besteht die ID aus dem Präfix
_design/ und dem Namen des Designdokuments. Ein Designdokument wird, wenn es auf-
gerufen wird, immer auf alle Datendokumente einer Datenbank angewandt. Grundlegen-
des Element ist hier das views -Element, hier befinden sich die gespeicherten Views mit ih-
ren Map/Reduce-Funktionen. Eine View ist vergleichbar mit einer Abfrage in SQL, besitzt
aber einige Features zur Definition der Abfrage.
Erinnern wir uns daran, dass ein Datendokument allein anhand seiner ID über HTTP an-
gezeigt werden kann. Ähnlich ist der Aufruf eines Designdokuments. Um die Ausgabe
der Abfrage als HTTP-Request-Antwort zu sehen, genügt ein einfacher Aufruf von
http://localhost:5984/autohaus/_design/autohausabfrage/_view/anzahl_pro_stadt, und das
Ergebnis wird angezeigt. Nun ist es aber nicht sehr sinnvoll, die Abfragen auf feste Städ-
tenamen zu hinterlegen, dieser Teil sollte doch variabel sein. Wie kann man das umsetzen,
wenn man als Eingangsparameter doch immer nur das Dokument, aber kein weiteren Ein-
gangsparameter hat? In diesem Fall ist der Key tatsächlich der Schlüssel zum Erfolg. In
CouchDB steuern Sie praktisch alles über die Keys. Sortierung, Gruppierung, Filterung, all
das haben Sie mit der Änderung des Keys in der emit -Funktion in der Hand. Ein Beispiel:
Sie möchten die Autohäuser einer bestimmten Stadt anzeigen. Alles was gemacht werden
muss, ist die emit -Funktion folgendermaßen zu ändern: emit(doc.stadt, doc.name) . Heraus
kommt:
{"Berlin","Meier"}
{"Berlin","Schulze"}
{"Hannover","Schmidt"}
An den Aufruf einer View kann eine Liste von Parametern angehängt werden:
?key=XXX : Zeige nur die Ergebnisse, deren Key XXX entspricht. Dabei kann
XXX vom Typ String, Integer, Array oder Objekt sein (Bsp: “Berlin“, 12345,
[“Berlin“,“VW“], {“name“:“Schmidt“}
?startkey=XXX&endkey=YYY : Zeigt alle Einträge, die von Key XXX bis Key
YYY gehen.
?descending=true : Sortiert vom größten zum kleinsten Schlüssel, default=false .
Achtung: Wenn Sie Start-Key und End-Key zusätzlich angeben, dann müssen Sie
die Keys vertauschen.
?limit=X : Anzahl der ausgegebenen Einträge
Search WWH ::




Custom Search