MongoDB を高速に保つ方法をさまよっていました。内部に多数のドキュメントが埋め込まれたいくつかの親ドキュメントがあるか、内部にほとんどドキュメントが埋め込まれていない多くの親ドキュメントがあります。
この質問は、クエリ速度のみに関するものです。検索速度に影響すると言われない限り、繰り返される情報の量には関心がありません。(MongoDb が自動的に Id のインデックスを作成するかどうかはわかりません)
例:
それぞれ Id フィールドのみを持つ次のエンティティを持つ:
- クラス(8種類のクラス)
- 学生 ( 100 人の異なる学生 )
学生をクラスに関連付けるために、MongoDB の速度を最大限に活用するには、次のようにします。
- すべての生徒を、出席するクラス内の配列に格納しました
- 各生徒の中に、彼らが出席するクラスの配列を保持しました。
この例は単なる例です。実際の状況では、何千ものドキュメントが関係します。