couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Clairon <clai...@gmail.com>
Subject Re: playing with tags
Date Thu, 12 Feb 2009 11:22:06 GMT
Thanks for your quick response.

the line:

curl -X POST http://localhost:5984/blog/_view/articles/by_tags -d
'{"keys":["python", "couchdb"]}'

gives me all the articles tagged with "python" *or* "couchdb"... but
how can I handle this to have only
the articles tagged with "python" *and* "couchdb" in one shot ?


On Thu, Feb 12, 2009 at 11:53 AM, Jan Lehnardt <jan@apache.org> wrote:
> Hi,
>
> See http://wiki.apache.org/couchdb/HTTP_view_API
>
> and "POST" under "Query Options".
>
> You can POST a JSON structure with all your keys to
> a view and get all matching rows.
>
> Cheers
> Jan
> --
>
> On 12 Feb 2009, at 11:42, Nicolas Clairon wrote:
>
>> Hi there !
>>
>> I'm playing with tags these time and a question comes to me.
>> For exemple, I have a bunch of blog articles:
>>
>> article1 = {
>>  ...snip...,
>>  tags : ["couchdb", "python", "best practices"],
>> }
>>
>> article2 = {
>>   ...snip...,
>>   tags : ["python", "best practices"],
>> }
>>
>> article3 = {
>>   ...snip...,
>>   tags : ["couchdb", "best practices"],
>> }
>>
>> and a view wich emit tags:
>>
>> function(doc){
>>   if (doc.type=="article"){
>>       for (var i in doc.tags){
>>           emit( doc.tags[i], doc )
>>       }
>>   }
>> }
>>
>> We can get all articles wich are tagged with "couchdb" easily:
>>
>> http://localhost:5984/blog/_view/article/by_tag?key="couchdb"
>>
>> but now, I want all articles wich are tagged with "couchdb" *and* "python"
>> (I want the article1). Is there a method to do it directly with CouchDB
>> views ?
>> Something like that :
>>
>> http://localhost:5984/blog/_view/article/by_tag?key_in=["couchdb",
>> "python"]
>>
>> For the moment, I have to do it by program,  firing 2 views and merge
>> the results...
>>
>> We can also think something like this:
>>
>> http://localhost:5984/blog/_view/article/by_tag?onekey_in=["couchdb",
>> "python"]
>>
>> wich will get all articles which are tagged with "couchdb" *or*
>> "python"...
>>
>> Does it already exists in CouchDB ?
>>
>
>

Mime
View raw message