sql >> データベース >  >> NoSQL >> MongoDB

MongoDBスキーマデザイン-新しいコレクションまたはリファレンス?

    はじめに:

    あなたの場合、カテゴリは列挙型であり、コースを表示するためにカテゴリをロードする必要はないため、両方のバリアントが適しています。列挙型を作成し、IDでカテゴリ名を取得するだけです。

    ただし、たとえば、テーブルdb.usersがあり、各ユーザーがdb.coursesのコレクションを持っている場合、個別のドキュメントを作成する必要はなく、ネストされたコレクションコースが必要です。また、SQLでは、1対多の参照を含む個別のテーブルを作成する必要があるため、非常に便利です。

    ドキュメントデータベースの大きな利点の1つは、ネストされたコレクションを使用して大きなドキュメントを作成でき、テーブルを結合する必要がないことです。

    回答:

    したがって、あなたの場合、私は2つの方法を提案します:

    1. カテゴリの列挙を作成し、idでカテゴリ名を取得します(ただし、mongoからはロードしません)。
    2. コース内のカテゴリ名をコピーするだけです(ただし、カテゴリ名が変更された場合は、各コースを新しいカテゴリ名で更新する必要があるため、最初のケースの方が適しています)。



    1. フラスコ_pymongo使用時に認証に失敗しました

    2. HerokuでRedisの接続が拒否されました

    3. 配列をredisに保存するにはどうすればよいですか?

    4. ubuntu16.10にmongodbをインストールできません