Wie führe ich eine parametrisierte Abfrage in CouchDB durch?

Ich möchte CouchDB verwenden, um einige Daten für mich zu speichern, und dann RESTful-API-Aufrufe verwenden, um die Daten abzurufen, die ich benötige. Meine Datenbank heißt "test" und meine Dokumente haben alle eine ähnliche Struktur und sehen ungefähr so ​​aus (wobei hallo_welt die Dokument-ID ist):

"hello_world" : {"id":123, "tags":["hello", "world"], "text":"Hello World"}
"foo_bar" :{"id":124, "tags":["foo", "bar"], "text":"Foo Bar"} 

Ich möchte, dass meine Benutzer eine Abfrage senden, z. B .: "Geben Sie mir alle Dokumente, die zum Beispiel die Worte" Hallo Welt "enthalten. Ich habe mit Ansichten gespielt, aber es sieht so aus Sie erlauben mir nur, einen oder mehrere dieser Werte in den "Schlüssel" -Teil der Kartenfunktion zu verschieben. Dadurch habe ich die Möglichkeit, Folgendes zu tun:

http: // localhost: 5984 / test / _design / search / _view / search_view? key ="Hallo"

Dies ermöglicht es mir jedoch nicht, meine Benutzer ihre Abfragezeichenfolge angeben zu lassen. Was wäre zum Beispiel, wenn sie nach "Hallo Welt" suchen würden? Ich müsste zwei Abfragen durchführen: eine für "Hallo" und eine für "Welt". Dann müsste ich ein paar Javascript schreiben, um die Ergebnisse zu kombinieren, Duplikate zu entfernen usw. (YUCK!). Was ich wirklich möchte, ist in der Lage zu sein, so etwas zu tun:

http: // localhost: 5984 / test / _design / search / _view / search_view? term ="Hallo Welt"

Verwenden Sie dann den Parameter "Hallo Welt" in den Funktionen zum Zuordnen / Verkleinern von Ansichten, um alle Dokumente zu finden, die sowohl "Hallo" als auch "Welt" im Tag-Array enthalten. Ist so etwas überhaupt mit CouchDB möglich? Gibt es eine andere Möglichkeit, dies in einer Ansicht zu erreichen, an die ich nicht denke?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage