モンゴイドのドキュメントによると、私は彼の関係should be used with caution
を理解していますが、純粋なモンゴイドを使用して私の問題をより良い方法で解決する方法がわかりません。
コースには多くの参加者がいて、参加者は多くのコースに参加できます。参加者のすべてのコースが必要な場合は、参加者をコース モデルに保存し、すべてのコースを検索する方が高速ではないでしょうか?
モンゴイドのドキュメントによると、私は彼の関係should be used with caution
を理解していますが、純粋なモンゴイドを使用して私の問題をより良い方法で解決する方法がわかりません。
コースには多くの参加者がいて、参加者は多くのコースに参加できます。参加者のすべてのコースが必要な場合は、参加者をコース モデルに保存し、すべてのコースを検索する方が高速ではないでしょうか?
モデルは、ユース ケースを反映している必要があります。
これを行う 1 つの方法は、コース用に 1 つのモデル、参加者用に 1 つ、学生をコースにマッピングする 3 つ目のモデルを用意することです (重複を防ぐために、コースと学生に一意のインデックスを使用します)。このようにして、他の 2 つのモデルを参照する単一のモデルが存在します。これは、アクセス パターンに基づいて理想的である場合とそうでない場合があります。
これはおそらくドキュメントを埋め込むための良いユースケースだと思います。embeds_many と embedded_in のフロント ページのサンプル構文を参照してください: http://mongoid.org/en/mongoid/
ここでの主な欠点は、複数のコースに参加者がいる場合、それらの各コースで参加者が重複することです。
参加者の検索を行う予定のフィールドに必ずインデックスを付けてください。