私はデータベースで作業するのが初めてで、NoSQLとMySQLの違いについて学びました。私はユーザーが自分のカレンダーに入れるイベントを作成できるようにするWebアプリケーションを構築しています。MongoDBデータベースをどのように整理すればよいですか?
今、ユーザー名とパスワードのコレクションと、イベントを格納する各ユーザーのコレクションがあります。しかし、NoSQLの詳細を読むと、代わりにすべてのイベントのコレクションを用意し、各ユーザーのイベントを1つのドキュメントに保存する必要があるようです。だから、データベースには2つのコレクションがあり、1つはユーザー名用、もう1つはイベント用です。これはもっと理にかなっているようですが、大規模な文書を含む非常に大きなイベントの収集に終わるでしょう。
ここでベストプラクティスは何ですか?私は多くのMongoDBの例を見てきましたが、たいていは、1つのコレクションで単純なデータベースを表示するだけです。
NoSQLの背後にある原則は私の要求に従うことだと認識していますが、ユーザーコレクションは例外であると考えていました。パスワード、セッションクッキーなどを保存している場合 –
私の考え方は、私が上で説明した一般的な規則に従います。パスワードとセッションのデータは更新する必要があるため、複製しない方がよいでしょう。 ==>それらをユーザー文書に含めるとともに、この文書にもイベントのリスト(または単にイベントID)を格納してください。 –