Hvis jeg forstår dit problem rigtigt, er alt, hvad du behøver, sandsynligvis allerede indbygget i CouchDB.
- For at få en række dokumenter med navne, der begynder med f.eks. "Skinke". Du kan bruge en anmodning med et strengområde:
startkey="Ham"&endkey="Ham\ufff0"
- Hvis du har brug for en mere omfattende søgning, kan du oprette en visning, der indeholder navne på andre steder som nøgler. Så du kan igen forespørge områder ved hjælp af teknikken ovenfor.
Her er en visningsfunktion til at gøre dette:
function(doc) {
for (var name in doc.places) {
emit(name, doc._id);
}
}
Se også CouchOne blogindlægget om CouchDB typeahead og autofuldførelsessøgning og denne diskussion på mailinglisten om CouchDB autofuldførelse.