Database Reference
In-Depth Information
}
Das Ergebnis dieser Map/Reduce-Kombination ist eine Liste mit den Städten als Key und
der Anzahl als Value. Wie Dokumente angelegt und angezeigt werden, haben wir bereits
gelesen. Doch wie genau wird Map/Reduce verwendet?
Map/Reduce-Funktionen und ihre Entsprechung in SQL
emit-Funktion:
Function(doc) {emit(doc.stadt,1)}
Reduce: return(sum(values));
SQL: SELECT id, stadt, 1 FROM autohaus WHERE stadt=”Berlin”
Aufruf: GET /autohaus/_design/autohausByStadt?key=“Berlin“
SQL: SELECT stadt, count(*) FROM autohaus GROUP BY stadt
Aufruf: GET /autohaus/_design/autohausByStadt?group=true
SQL: SELECT count(*) AS value FROM autohaus WHERE stadt=”Berlin”
Aufruf: GET /autohaus/_design/autohausByStadt?key=“Berlin“
emit-Funktion:
Function(doc) {
for (var curMarke in doc.marken) {
emit(doc.marken[curMarke],1)
}
}
Reduce: return(sum(values));
SQL: SELECT marke, count(*) FROM marken JOIN autohaus ON
(marke.autohaus_id=autohaus.id) GROUP BY marke
Aufruf: GET/autohaus/_design/autohausbystadt/_view/byMarke?group=true
Dokumente II: Design
Eine Sonderstellung unter den Dokumenten nehmen die Designdokumente ein. Technisch
gesehen ist ein Designdokument genauso ein Dokument wie jedes andere auch, im Ge-
gensatz zu Datendokumenten werden in Designdokumenten jedoch nur vorgegebene Feld-
Search WWH ::




Custom Search