incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Francesco Mazzoli <>
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
I was trying to use startkey_docid and endkey_docid but I think I am
missing something:
-- Francesco

On 18 June 2010 17:54, Francesco Mazzoli <> 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(, {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 <> 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 ( 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

View raw message