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 <[email protected]> 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 <[email protected]> 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 >> >> >
