couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francesco Mazzoli <francesco.mazzol...@imperial.ac.uk>
Subject Re: Next and previous element.
Date Fri, 18 Jun 2010 23:37:47 GMT
Right now I have solved the situation using sequential ids (before it
didn't work because my view was wrong), but it's quite an ugly
solution.
I was trying to use startkey_docid and endkey_docid but I think I am
missing something: http://pastebin.com/XKyvNtGU
-- Francesco



On 18 June 2010 17:54, Francesco Mazzoli <fm2209@ic.ac.uk> wrote:
> This is exactly what I was trying to do, but with sequential ids (I
> can't really use a timestamp since articles get accepted in groups, so
> they end up having the same timestamp)
> The problem is that I don't get the desired result.
> For example now I am using this view (slug_by_time):
> function(doc) {
>    if (doc.type == 'Image' && doc.accepted) {
>        emit(doc.id, {slug: doc.slug});
>    }
> }
> And, having one id, I am making request like:
> /troppotardi/_design/images/_view/slug_by_time?endkey=%2239f56554dba0e810d5a8d17225000f0f%22
> to get the previous slugs and
> /troppotardi/_design/images/_view/slug_by_time?endkey=%2239f56554dba0e810d5a8d17225000f0f%22
> to get the next one, but it doesn't work...
>
> -- Francesco
>
>
>
> On 18 June 2010 15:27, J Chris Anderson <jchris@gmail.com> wrote:
>>
>> On Jun 18, 2010, at 5:31 AM, Francesco Mazzoli wrote:
>>
>>> This may be a simple question but I couldn't find a solution by myself.
>>> I am coding a web application with pylons (pylonshq.com) and couchdb,
>>> and I've stumbled upon a problem.
>>> It's a blog, and I assign a slug to every article. I get the slug from
>>> a get parameter in the address.
>>> I would like, from that article, to get the next and the previous one.
>>> I am using sequential uuids, and I've got this view slug_by_time that
>>> returns the docs slugs with the ids as keys. In this way they are
>>> ordered by time of creation.
>>> The problem is that, having one id, I can't get the previous and next
>>> element. My idea was simply to use the current id as startkey to find
>>> the next one end endkey to find the previous one, but I get weird
>>> results.
>>
>> if you store a timestamp on the item, you can have a view by timestamp and query
with limit 1 on each side of the known timestamp for next and previous.
>>
>> Chris
>>
>>>
>>> Any suggestions?
>>> Thanks in advance,
>>> -- Francesco
>>
>>
>

Mime
View raw message