Looking for guidance on the way of couchdb and non-relational storage. My system needs to show features (stored as documents). Features need to be associated with 0-N projects (also stored as documents). Each project also has a list of joined users (again, documents). So given a login of X User, I need to know the projects they have and once a project is selected, I need to return its features. My first implementation stores arrays of document ids as relations, where User has of list of Project ids, Projects have lists of User and Feature ids, and features have lists of Project ids. I can imagine taking out the array of project ids from the User documents and then just having a view with the User ids as the key and the values are the Project documents. It still feels like I am missing the proper methodology and that there is an even better way the store/retrieve concepts like associations/ownerships/etc. in couchdb.
Any thoughts are great, thanks.
