incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bradford Winfrey <>
Subject Re: Views using JSON Arrays
Date Thu, 03 Jul 2008 20:18:29 GMT
So it's not something so simple as to do...

http://...?keys[]="val1"&keys[]="val2" as the request.  Meaning keys is an array and then
checking to see if the key being emitted exists within the array that we passed in?  I'm totally
firing this off before looking at the code, so bear with me...

----- Original Message ----
From: Damien Katz <>
Sent: Thursday, July 3, 2008 1:51:38 PM
Subject: Re: Views using JSON Arrays

On Jul 3, 2008, at 2:34 PM, Jan Lehnardt wrote:

> On Jul 3, 2008, at 20:17, Jan Lehnardt wrote:
>> On Jul 3, 2008, at 20:07, Paul Bonser wrote:
>>> On Thu, Jul 3, 2008 at 8:01 AM, Bradford Winfrey < 
>>> > wrote:
>>>> We would get back each one of our tags as a key, yea?  Only if we  
>>>> supplied one at a time.  So how does one go about supplying a  
>>>> range, array (not sure what we'd call it here) of keys to be  
>>>> searched on?  http://...?key=["octopus","hockey"] maybe?  I'm  
>>>> unsure of the plan of attack for such a thing.  Maybe I'm just  
>>>> going about it in the wrong direction.  Any thoughts?
>>> Hey everyone. I've pretty much just been watching the mailing list  
>>> here myself.
>>> This is the second time somebody has asked about this since I've
>>> started watching this mailing list. I could see it being a valuable
>>> feature.
>>> Would it be valuable to add the ability to query a view with  
>>> multiple
>>> keys, getting the results for each of those keys back? Something  
>>> like
>>> http://...?key_list=["octopus","hockey"]
>>> If I were interested in investigating how hard it would be to add  
>>> that
>>> feature, where would I start looking in the code?
>> This simply doesn't fit the way views work. They are single indexes  
>> that you
>> can use for single-key or or key-range lookups. if you need random  
>> access
>> you'd basically need to query the view as many times as you have keys
>> to search. No matter if you do that in front or behind the API.
> Hey you smart-ass, on the one hand you are trying to recruit new
> developers and on the other hand you discourage people from adding
> useful features. Make up your mind man!
> Paul, if you come up with a nice solution, we'd be happy to look at
> integrating it. Please give it a try. To investigate the code it is  
> probably
> best to start at src/couchdb/couch_http.erl as it defines the HTTP API
> and handles the requests you already know and just drill down from
> there.


The view indexes can indeed do multiple lookups at once. The only  
thing is I don't think a GET with all the keys are URL args is the way  
to go as it can get really long and cause problems with proxies and  
HTTP libs, a POST with the lookup keys as the body is probably better.

> Cheers
> Jan
> --

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message