> Or, obviously, I would be delighted if someone could show me how I'm > completely wrong and it is actually possible to do this : )
You can. Complex keys. I put together a little test: http://dev.deanlandolt.com:5984/test/_view/subscriptions/users The map function just uses a two-level key... function(doc) { if (doc.type == 'user') { emit([doc.username,0], doc) } else if (doc.type == 'subscription') { emit([doc.follower, doc.followee], doc) } } Read this for more details: http://www.cmlenz.net/archives/2007/10/couchdb-joins But yes, you can do joins. You can query this view for just one user simply: http://dev.deanlandolt.com:5984/test/_view/subscriptions/users?startkey=[%22dlandolt%22]&endkey=[%22dlandolt%22,{}] Notice the {} in there -- from what I gather objects are at the bottom of the sort, so this query gets all data related to user dlandolt -- the first result (or any result with the second part of a key ending in 0 based on how I wrote my view), and then everything following are the *subscription* docs that Damien recommended. Hope that helps.
