特定のユーザー アカウントに関連するデータ (「状態」など) を mongoDB に保存する必要があるとします。
これを行うためのより良いオプションは何ですか: コレクションの状態:
1) {id: - ユーザー コレクション、[状態データ] で同じになります}
2) {id: - 状態の一意の ID、userId - ユーザー コレクションの ID、[状態データ]}
では、より良い設計上の決定は何でしょうか?
それはすべて、アプリケーションのデータにどのようにアクセスするかによって異なります。状態にアクセスする必要があるたびにユーザー データをフェッチする場合は、それをユーザー コレクションに格納するのが理にかなっています。
ブログとそのコメントについて考えてみてください。コメントだけを取得する必要はありません。常にブログ エントリと関連するコメントを取得します。
編集: いくつかの考慮事項:
あなたが話しているこれらのリストがすべて互いに独立しており、各ユーザーのリスト間に参照整合性が必要ない場合は、それらを Users コレクションに保存するのが理にかなっています
ユーザー ドキュメントが 16MB (現在の最大ドキュメント サイズ) を超えると思われる場合は、コレクションを分離することを検討する必要があります (つまり、すべてのデータを 1 か所のユーザー コレクションに格納しないでください)。