Dies sind spezielle Dokumente.
http://127.0.0.1:5984/couchtest/_design/ddexample
{
"_id":"_design/ddexample",
"_rev":"1-8da8273d9594f007b954a58c74a8335a",
"language":"javascript",
"views":{"ddview":{"map":"function(doc) {\n emit(null, doc);\n}"}}
}
Das gespeicherte View abfragen. Views nutzen Map Reduce um eine Liste von Dokumenten zu erstellen.
http://127.0.0.1:5984/couchtest/_design/ddexample/_view/ddview
In der Map-Phase werden zu dem einzelnen Dokument ein oder mehrere Key/Value-Paare gebildet. Diese Paare werden dann in einer Liste zwischengespeichert, der sogenannten Map.
Mit emit übergibt man Werte an die Reduce Funktion.
function (doc) {
emit(null, doc);
}
Will man ein bestimmtes Feld im Dokument angezeigt haben, übergibt man das Feld einfach, Selektionen sind auch möglich.
function (doc) {
if(doc.name != null) {
emit(doc.name, doc);
}
}
Die Reduce-Phase kann erst gestartet werden wenn alle Map-Funktionen beendet wurden. In der Reduce-Phase werden die in der Map gespeicherten Key/Value-Paare zu einem Ergebnis verarbeitet.
Ein CouchDB-View besteht aus zwei Komponenten, der Map- und der Reduce-Funktion, wobei die Reduce-Funktion optional ist. Die Funktionen werden gespeichert.