Not sure how you are querying, but are you doing the equivalent to this? startkey and endkey should be expressed as JSON
curl -g 'http://localhost:5984/orders/_design/Order/_view/by_users_after_time?startkey=["f98ba9a518650a6c15c566fc6f00c157","2012-01-01T11:40:52.280Z"]&endkey=["userid",{}]' Jim Klo Senior Software Engineer Center for Software Engineering SRI International e. [email protected] p. 805.542.9330 x121 m. 805.286.1350 f. 805.546.2444 On Feb 13, 2012, at 10:27 AM, Mathieu Castonguay wrote: > 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 <[email protected]> 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" < >> [email protected]> 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 >>
smime.p7s
Description: S/MIME cryptographic signature
