do these live in same table/database?
then it's possible in a view to have both user's-docs and
user's-group-docs, and fetch for key=user will give u the user and
all his groups.
something like (pseudocode)
if doc.type=="user": emit( doc.id, doc)
if doc.type=="group":
for u in doc.users: emit( u, doc)
querying this with key=userid will yield the user-doc and the
group-docs for that user.
depends on what u really need, u can make something similar..
see
http://wiki.apache.org/couchdb/EntityRelationship
if these live in separate databases, then would be 2 queries - one for
user, one for groups for that userid.
ciao
svilen
On Fri, 29 Mar 2013 10:56:02 -0700
Troy Martin <[email protected]> wrote:
> I'm currently associating user documents with group documents like
> this:
>
> {
> "_id": "544f4718732b51506d9de60a4e000505",
> "_rev": "137-f99f9a4aa5e3a4d48b76d98200b1f4fa",
> "username": "spencer",
> "firstName": "Spencer",
> "lastName": "jones",
> "emailAddress": "[email protected]",
> "roles": [
> "user"
> ],
> "type": "user",
> "disabled": false,
> "empId": "10"
> },
>
> {
> "_id": "3979684300c58a4c90c7c6e0d6035260",
> "_rev": "58-0df6c24716cd1768f668399a96059692",
> "type": "group",
> "name": "marina",
> "description": "",
> "users": [
> "544f4718732b51506d9de60a4e000505",
> "63de6351a30879ee091b248c930a9254",
> "8f87c698f119044890c5e788cd000c18",
> "4b95a2e0ec42cb6d49efac7f52000e2c",
> "8f87c698f119044890c5e788cd0019d7"
> ]
> }
>
>
> When I want to edit a user my app fetches the user document and a
> list of all the groups in the system. It then loops through the
> groups and pulls out the ones the user is associated with by looping
> through the users array looking for the users _id number. That's a
> lot of looping…8-) I have to have a list of groups anyway so the user
> can select from them, but I'm wondering if I can use view collation
> to fetch the user and their associated groups in one request to
> increase efficiency? I've looked at some examples on view collation,
> but the ones I've seen show a one to one relationship between
> documents. Not sure if I can use it with my data structured this way.
> I've considered a joining document like a joining table from sql, but
> thought I'd see if there was a way to make this work as is.
>
> Thanks,
>
> Troy
>
>
>