incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Woodhead <simon.woodh...@simwood.com>
Subject Conditional joins
Date Fri, 17 Sep 2010 13:04:03 GMT
Hi folks,

I'm pretty green with views and have a need to do a join with results
from one side returned if a condition is met on the other. In SQL I'd
do:

select * from child join parent on child.id=parent.id where parent.status=1;

I've read the 'join' documentation (e.g.
http://www.cmlenz.net/archives/2007/10/couchdb-joins) and can return
documents of multiple types with matching keys ok. What I can't do is
do the same but only if the parent matches a condition.

Specifically, my data is like:

{"45a6951b34a6f45bd44fd169c0003f9c","_rev":"1-6c88818b43d562c45e452bf00db06ee2","type":"domain","domain":"test.com","status":1},
{"_id":"45a6951b34a6f45bd44fd169c00046db","_rev":"1-37eaf0c4944dac9f5fe07b25c0b68b1d","type":"domain","domain":"test2.com","status":0},
{"_id":"45a6951b34a6f45bd44fd169c00053d9","_rev":"3-729f46c86ee4984941939c65787126fb","type":"user","domain":"test.com","user":"foo","password":"test123"},
{"_id":"45a6951b34a6f45bd44fd169c00060c8","_rev":"1-46997eba12e7adbb6e9266a1fe83c42d","type":"user","domain":"test2.com","user":"bar","password":"test123"}

I want to be be able to query a view by domain and see all users for
it if the status is 1. So in this case I'd see users for test.com but
not for test2.com.
Any help would be appreciated.

Thanks!
Simon
--
***** Email confidentiality notice *****

This message is private and confidential. If you have received this message in error, please
notify us and remove it from your system.


Simwood eSMS Limited is a limited company registered in England and Wales. Registered number:
03379831. Registered office: c/o HW Chartered Accountants, Keepers Lane, The Wergs, Wolverhampton,
WV6 8UA. Trading address: Falcon Drive, Cardiff Bay, Cardiff, CF10 4RU.



Mime
View raw message