Views are one-dimensional, sorted on the whole key.

For 1) you will need a view like;

  emit([doc.TYPE, doc.AUTHOR, doc.DATE], doc);

and queried with ?startkey=["type I want", "bob"]&endkey=["type I
want", "bob", {}]

for 2)

   emit([doc.TYPE, doc.DATE, doc.AUTHOR], doc);

and queried with ?startkey=["type I want", "start date"]&endkey=["type
I want", "end date", {}]

I also advise emitting null instead of doc and using
include_docs=true. This saves space as everything emitted as key or
value is copied into the view file (expect attachments).

B.

On 24 April 2012 17:04, Tim Daly <[email protected]> wrote:
> I have a view that emits values like this:
> emit([doc.TYPE, doc.DATE, doc.AUTHOR], doc);
>
> I want to be able to execute the following queries:
> 1) Get all of a certain type, within a date range, with the author "bob" 
> (sorted by date)
> 2) Get all of a certain type, within a date range, with any author (sorted by 
> date)
>
> I believe the date must come before the author to keep the date sorting 
> first, correct?
> I am having trouble getting this to work?  Can you search on two ranges?  I 
> believe the answer is "not directly".  How do I achieve this?  I guess you 
> can't even search for "bob" after the range either because its the third 
> parameter.  Also if it makes any difference I am doing everything through 
> Ektorp.
>
> Thanks for any help!!!

Reply via email to