Hi Felix,
On Sat, Mar 10, 2012 at 3:24 PM, felix milea <[email protected]> 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