couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthieu Rakotojaona <matthieu.rakotoja...@gmail.com>
Subject Re: get by value, order by time
Date Sat, 10 Mar 2012 15:46:15 GMT
Hi Felix,

On Sat, Mar 10, 2012 at 3:24 PM, felix milea <felixmilea@gmail.com> wrote:
> Hey guys, I'm new to CouchDB and I need help with an app I'm working on;
> I'm trying to get the 50 most recent posts a user made in the app. I
> created a view that pulls out the documents for the posts, and I can use
> the key parameter to get only the posts of a particular user and the limit
> parameter to get only 50 entries.
>
> However, I'd like to order the returned docs by a "timestamp" field (which
> stores the new Date().getTime() of when the entry was made) in order to
> ensure that the posts are the most recent ones. How can I do this in
> CouchDB?
>
> --
> Felix Milea-Ciobanu

If you already have a view that gives you what you want, you can add
your timestamp to the keys emitted. You will then have to query your
view with these parameters :

* group_level = 1 (group by user, each document on its own row)
* descending = true (to get the most recent first)
* limit = 50 (to fetch only those you need)

and the key would be {"key":["<username>", {} ] }

Note : I don't know if 'descending = true' is smart enough to only
fetch relevant docs, unlike 'skip = XX'

-- 
Matthieu RAKOTOJAONA

Mime
View raw message