incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mathieu Castonguay <mcastong...@justlexit.com>
Subject Re: Question about multiple keys with ranges
Date Mon, 13 Feb 2012 18:27:50 GMT
I tried reversing the keys with no luck. I still get timestamps that are in
the past (before the startKey).

On Sat, Feb 11, 2012 at 6:37 PM, James Klo <jim.klo@sri.com> wrote:

> Reverse the key. [userid, time]
>
> CouchDB is all about understanding collation. Basically views are
> sorted/grouped from left to right alphanumeric. See
> http://wiki.apache.org/couchdb/View_collation for the finer details as
> there are more rules than the basics I mention.
>
> so the reversal sorts the view by userid first, then date as string.
> Instead of sorting by dates then userids.
>
> You do it this way because you know the exact userid, but not the exact
> date. If you knew the exact date, but not the userid, what you have
> currently would be better.
>
> - Jim
>
>
> Sent from my iPad
>
> On Feb 11, 2012, at 1:54 PM, "Mathieu Castonguay" <
> mcastonguay@justlexit.com> wrote:
>
> > I have a simple document named Order structure with the fields id, name,
> > userId and timeScheduled.
> >
> > What I would like to do is create a view where I can find the
> > document.idfor those who's userId is some value and timeScheduledis
> > after a given date.
> >
> > My view:
> >
> > "by_users_after_time": {
> >       "map": "function(doc) { if (doc.userId && doc.timeScheduled) {
> > emit([doc.timeScheduled, doc.userId], doc._id); }}"
> >   }
> >
> > If I do
> >
> localhost:5984/orders/_design/Order/_view/by_users_after_time?startKey="[2012-01-01T11:40:52.280Z,f98ba9a518650a6c15c566fc6f00c157]"
> > I get every result back. Is there a way to access key[1] to do an if
> > doc.userId == key[1] or something along those lines and simply emit on
> the
> > time?
> >
> > This would be the SQL equivalent of select id from Order where userId =
> > "f98ba9a518650a6c15c566fc6f00c157" and timeScheduled >
> > 2012-01-01T11:40:52.280Z;
> >
> > I did quite a few Google searches but I can't seem to find a good
> tutorial
> > on working with multiple keys. It's also possible that my approach is
> > entirely flawed so any guidance would be appreciated.
> >
> > Thank you,
> >
> > Matt
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message