1

MongoDB を大きくしすぎる前に、非正規化を試みています。現在、Users と Rooms コレクションがあります。ユーザーはルームに参加でき、ルームはユーザーを保持します。ユーザーは時間の経過とともに数百万に近づく可能性があり、Rooms はおそらく数千に成長するでしょう。ルームには何千ものユーザーがいる可能性があります。ユーザー ドキュメント全体を各 Room ドキュメントに格納する必要がありますか?それとも ObjectID のみを格納する必要がありますか? または、Room ドキュメントの ObjectID を各ユーザー ドキュメントの下の配列に格納する必要がありますか? 結合が嫌われていることは知っていますが、これらは信じられないほどの速度で成長します。また、ルーム内のすべてのユーザーに対して複雑な計算を行う必要があります。関係は多対多です。現在、各ユーザーの ObjectID を使用して各部屋の配列を保存します。また、ユーザーごとに、ユーザーがいる各ルームの ObjectID を含む配列を保存します。これは理にかなっていますか?

私の状況では、オブジェクトの埋め込みを行うべきですか、それともオブジェクトの参照を行うべきですか?

4

0 に答える 0