Chciałbym użyć CouchDB do przechowywania niektórych danych dla mnie, a następnie użyć wywołania RESTful API, aby uzyskać dane, które potrzebuję. Moja baza danych jest nazywany „test” i wszystkie moje dokumenty mają podobną strukturę i wyglądać następująco (gdzie hello_world jest identyfikator dokumentu):Jak wykonać sparametryzowaną kwerendę na CouchDB
"hello_world" : {"id":123, "tags":["hello", "world"], "text":"Hello World"}
"foo_bar" :{"id":124, "tags":["foo", "bar"], "text":"Foo Bar"}
Co chciałbym być w stanie zrobić, to mieć moje użytkowników wyślij zapytanie takie jak: "Daj mi wszystkie dokumenty, które zawierają słowa" cześć świat ", np. bawiłem się widokami, ale wygląda na to, że pozwolą mi tylko przenieść jedną lub więcej z tych wartości do . „kluczem” część funkcji mapa, która daje mi możliwość zrobić coś takiego:
http://localhost:5984/test/_design/search/_view/search_view?key= „cześć”
Ale to nie pozwala mi pozwolić moim użytkownikom określić ich ciąg zapytania. Na przykład, co jeśli szukają "cześć świat". Musiałbym zrobić dwa pytania: jeden dla "cześć" i jeden dla "świata", wtedy musiałbym napisać kilka javascript, aby połączyć wyniki, usunąć duplikaty, itp (YUCK!). Co ja naprawdę chcę, to być w stanie zrobić coś takiego:
http://localhost:5984/test/_design/search/_view/search_view?term= „Hello World”
następnie użyj parametru „Hello World” w mapie views/zmniejszenia funkcji znaleźć wszystko dokumenty zawierające zarówno "cześć" i "świat" w tablicy znaczników. Czy to możliwe w CouchDB? Czy jest inny sposób na osiągnięcie tego w widoku, o którym nie myślę?
Chcesz opracować lub podać przykłady? –
Jest jednym z twórców projektu - "Nie możesz tego zrobić, ale ten projekt ci pozwoli." To całkiem dobra odpowiedź. – dnolen