couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kenneth Tyler <>
Subject Re: Conditional joins
Date Fri, 17 Sep 2010 13:56:32 GMT
I think this is a case where the flat document structure of couch documents
makes things much simpler than in SQL.

If you had a view like this:
then it would return all the user documents with their status as their key
and you could use ?key="1" (i think the quotes are necessary) to get all the
users whose status is 1

if you want to do the same thing for domains, you just write a "domain" view
that returns status as the key

ken tyler

On Fri, Sep 17, 2010 at 6:04 AM, Simon Woodhead

> 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 where
> parent.status=1;
> I've read the 'join' documentation (e.g.
> 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":"
> {"_id":"45a6951b34a6f45bd44fd169c00046db","_rev":"1-37eaf0c4944dac9f5fe07b25c0b68b1d","type":"domain","domain":"
> {"_id":"45a6951b34a6f45bd44fd169c00053d9","_rev":"3-729f46c86ee4984941939c65787126fb","type":"user","domain":"
> {"_id":"45a6951b34a6f45bd44fd169c00060c8","_rev":"1-46997eba12e7adbb6e9266a1fe83c42d","type":"user","domain":"
> 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 but
> not for
> 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.

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