Database Reference
In-Depth Information
Design-Dokumente haben immer IDs, die mit
_
design/
beginnen und einen
oder mehrere Views enthalten. Der Name des Views unterscheidet ihn von
den anderen Views, die im gleichen Dokument enthalten sind. Die Entschei-
dung, welche Views in welche Design-Dokumente gehören, ist größtenteils
anwendungsspezifisch und eine Frage des Geschmacks. Die allgemeine Re-
gel lautet, Views basierend auf dem zu gruppieren, was sie mit den Daten
anstellen. Wir werden entsprechende Beispiele sehen, wenn wir interessan-
tere Views entwickeln.
Künstler nach Namen inden
Nachdem wir die Grundlagen der View-Entwicklung kennen, wollen wir eini-
ge anwendungsspezifische Views entwickeln. Wie Sie wissen, enthält unsere
music
-Datenbank Informationen über die Künstler, darunter auch ein
name
-
Feld mit dem Namen der Band. Über ein normales
GET
oder den
_
all
_
docs
-
View können wir auf die Dokumente über ihre
_
id
-Werte zugreifen, doch wir
wollen Bands über ihren Namen abrufen.
Mit anderen Worten können wir bis jetzt das Dokument mit der
_
id
74c7a8d2a8548c8b97da748f43000ac4
nachschlagen, doch wie finden wir das
Dokument, bei dem der
name
den Wert
The Beatles
enthält? Dafür benötigen
wir einen View. Wechseln Sie in Futon zurück zur Temporary-View-Seite, ge-
ben Sie die folgende map-Funktion ein und klicken Sie auf Run.
couchdb/artists_by_name_mapper.js
function
(doc) {
if
(
'name'
in
doc) {
emit(doc.name, doc.
_
id);
}
}
Diese Funktion prüft, ob das aktuelle Dokument ein
name
-Feld enthält und
wenn das der Fall ist, emittiert es den Namen und die Dokumenten-
_
id
als
relevantes Schlüssel/Wert-Paar und erzeugt eine Tabelle wie diese:
Schlüssel
Wert
"The Beatles"
"74c7a8d2a8548c8b97da748f43000ac4"
Klicken Sie auf den Save-As...-Button und tragen Sie dann für Design Docu-
ment
artists
und für View Name
by_name
ein. Klicken Sie auf Save, um Ihre
Eingabe zu sichern.