Vorrei utilizzare CouchDB per memorizzare alcuni dati per me e quindi utilizzare le chiamate api RESTful per ottenere i dati di cui ho bisogno. Il mio database è chiamato "test" ed i miei documenti tutti hanno una struttura simile e simile a questa (dove hello_world è l'ID del documento):Come eseguire una query con parametri su CouchDB
"hello_world" : {"id":123, "tags":["hello", "world"], "text":"Hello World"}
"foo_bar" :{"id":124, "tags":["foo", "bar"], "text":"Foo Bar"}
Quello che mi piacerebbe essere in grado di fare è avere i miei utenti invia una query del tipo: "Dammi tutti i documenti che contengono le parole" ciao mondo ", ad esempio. Ho giocato con le visualizzazioni ma sembra che mi consentano solo di spostare uno o più di quei valori in . la parte "chiave" della funzione di carta che mi dà la possibilità di fare qualcosa di simile:
http://localhost:5984/test/_design/search/_view/search_view?key= "ciao"
Ma questo non mi consente di consentire ai miei utenti di specificare la stringa di query. Ad esempio, cosa succede se hanno cercato "ciao mondo". Dovrei fare due domande: una per "ciao" e una per "mondo", quindi dovrei scrivere un po 'di javascript per combinare i risultati, rimuovere i duplicati, ecc. (YUCK!). Quello che voglio veramente è quello di essere in grado di fare qualcosa del genere:
http://localhost:5984/test/_design/search/_view/search_view?term= "ciao mondo"
quindi utilizzare il parametro "ciao mondo" nella vista mappa/ridurre funzioni per trovare tutte le documenti che contengono sia "ciao" che "mondo" nell'array dei tag. Questo tipo di cose è persino possibile con CouchDB? C'è un altro modo per realizzare questo all'interno di una visione che non sto pensando?
Cura di elaborare o fornire esempi? –
È uno degli sviluppatori del progetto: "Non puoi farlo, ma questo progetto ti permetterà". Questa è una buona risposta. – dnolen