Database Reference
In-Depth Information
"value":{
"by":"The Beatles",
"album":{
"title":"Sgt. Pepper's Lonely Hearts Club Band",
"year":1967
}
}
}]
}
CouchDB stellt sicher, dass die Datensätze alphabetisch sortiert nach den
emittierten Schlüsseln zurückgegeben werden. In der Tat ist das die Indexie-
rung, die CouchDB bietet. Beim Entwurf von Views ist es wichtig, Schlüssel
zu emittieren, die sortiert einen Sinn ergeben. Einen View auf diese Weise
abzurufen liefert die gesamte Datenmenge zurück, doch was tun, wenn man
nur eine Teilmenge will? Eine Möglichkeit ist der URL-Parameter
key
.Wenn
Sie einen Schlüssel angeben, werden nur Zeilen mit exakt diesem Schlüssel
zurückgegeben.
$
curl 'http://localhost:5984/music/
_
design/albums/
_
view/by
_
name?key="Help!"'
{
"total
_
rows":3,
"offset":1,
"rows":[{
"id":"74c7a8d2a8548c8b97da748f43000ac4",
"key":"Help!",
"value":{
"by":"The Beatles",
"album":{"title":"Help!","year":1965}
}
}]
}
Beachten Sie die
total
_
rows
-und
offset
-Felder in der Antwort. Das
total
_
rows
-Feld enthält die Gesamtmenge der Datensätze im View, nicht nur die
Anzahl der in diesem Request zurückgegebenen Teilmenge. Das
offset
-Feld
sagt uns, an welcher Stelle in der Gesamtmenge der erste zurückgelieferte
Datensatz liegt. Basierend auf diesen beiden Zahlen und der Länge der
rows
,
können wir berechnen, wie viele weitere Datensätze sich noch zu beiden Sei-
ten des Views befinden.
View-Requests können neben
keys
noch andere Parameter nutzen, doch um
sie in Aktion zu sehen, benötigen wir etwas mehr Daten.
Daten per Ruby in CouchDB importieren
Der Import von Daten ist ein Problem, vor demman immer wieder steht, egal,
welche Datenbank man letztlich nutzt. CouchDB ist da keine Ausnahme. In
diesem Abschnitt wollen wir Ruby verwenden, um strukturierte Daten in un-