incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Anderson" <jch...@gmail.com>
Subject Re: Sort by date and find by key
Date Tue, 13 Jan 2009 23:08:32 GMT
On Tue, Jan 13, 2009 at 3:03 PM, Nicolas Fouché <nicolas@silentale.com> wrote:
> Thanks a lot, it works. The wiki has a lot of examples on how to
> create views, but not how to query them.
>
> Why do you put '{}' as the second element of the array ? Is it because
> hashes are sorted after strings and arrays, as specified  in
> http://wiki.apache.org/couchdb/View_collation ? If I'm right, I
> suppose I can replace the hash by the character 'a', and it also
> works, because dates always begin with a number. Right ?

yep, but do note that collation comparisons between strings are slower
than those between objects of different types.

>
> Nicolas
>
> On Tue, Jan 13, 2009 at 10:38 PM, Chris Anderson <jchris@gmail.com> wrote:
>> On Tue, Jan 13, 2009 at 1:35 PM, Nicolas Fouché <nicolas@silentale.com> wrote:
>>> Hi,
>>>
>>> Let's say I have documents like this: {date: '2008/06/09 13:52:11
>>> +0000', name:'Roger'}
>>> I'd like to find documents matching a name, and sorted by date. I know
>>> that for sorting documents by date, the 'date' field has to be in the
>>> key emitted by the view.
>>>
>>> In this case, what to I have to emit if I need to see only documents
>>> which name is 'Roger' but sorted by date ?
>>> I would do something like:
>>> emit([doc.name, doc.date], null);
>>>
>>> Can I query this view without having to specify the date ? I need
>>> these documents to be sorted by date, because I'll paginate on them.
>>
>> Totally, all you need is a startkey and endkey that bracket the keys
>> you care about.
>>
>> eg startkey=["Roger"] endkey=["Roger",{}]
>>
>> See http://wiki.apache.org/couchdb/View_collation
>>
>>>
>>> Thanks,
>>> Nicolas
>>>
>>
>>
>>
>> --
>> Chris Anderson
>> http://jchris.mfdz.com
>>
>



-- 
Chris Anderson
http://jchris.mfdz.com

Mime
View raw message