You may find this article useful. http://www.cmlenz.net/archives/2007/10/couchdb-joins
On Fri, Jun 25, 2010 at 7:21 PM, Sean Coates <[email protected]> wrote: > ("subquery" for lack of a better term) > > Hello. > > I asked this in #CouchDB, but Jan suggested I also email it here. > > I have a problem where I have data in couch, and I want to perform what seems > like one too many leaps of logic from within a view. Here's some sample data: > > [ > {"_id":1,"_rev":1,"type":"user","following":[2,3]}, > {"_id":2,"_rev":1,"type":"user","following":[1]}, > {"_id":3,"_rev":1,"type":"user","following":[1]}, > {"_id":4,"_rev":1,"type":"asset","ownerid":1}, > {"_id":5,"_rev":1,"type":"asset","ownerid":1}, > {"_id":6,"_rev":1,"type":"asset","ownerid":2}, > {"_id":7,"_rev":1,"type":"asset","ownerid":3}, > {"_id":8,"_rev":1,"type":"asset","ownerid":3} > ] > I want to query for a given id where type=user, and get all type=asset > records owned by that user, or by users that the queried user is following. > Here are some examples that hopefully help: > > _id=1; want documents with IDs: [4,5,6,7,8] > _id=2; want documents with IDs: [4,5,6] > _id=3; want documents with IDs: [4,5,7,8] > I hope that's clear enough. if not, please let me know, and I'll try to > expand my explanation. > > The foundation of the problem seems to be that from within a map, I can't > fetch secondary type=user documents in order to perform what amounts to a > join (in SQL-speak). > > Any help is appreciated. I'm currently solving this problem on the app side, > but that's far from ideal (causes a mess with things like limits, for > example). > > S > > -- DU
