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



Reply via email to