Hi, I am designing a club membership application. The schema is very simple,
- Info about members
- Info about Clubs.
- Club-member mapping.
Following the document database principle that most common queries should be represented by one query without joins, I wanted to have a collection storing member info and all the clubs they belong to, including some club attributes, like “category”, or “private/public”. This is so that I can query things like “find me all users who belong to private clubs”, or “number of members in cooking related clubs”.
There are uncommon queries like “find all members where John Doe is a club president for”. So the president of each club and other less-queried club attributes should be in a separate “clubs-detail” collection.
Am I on the right track in applying normalization rules in a document DB?
Oscar