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

リレーショナルデータベースの設計とmongoDB/mongooseの設計

    Mongooseは、テーブルを比較的簡単にリレーショナルにモデル化し、refに基づいてリレーショナルデータを設定できるように設計されています。 スキーマで定義しました。落とし穴は、人口の増加に注意する必要があるということです。人口が多すぎたり、人口を入れ子にしたりすると、パフォーマンスのボトルネックに遭遇します。

    Edit 1でのアプローチ ほぼ正しいですが、通常はリモートのrefにデータを入力する必要はありません。 Numberに基づく または_idを設定します モデルのNumberへの変換 mongoは、_idを管理するために独自のハッシュメカニズムを使用しているため 、これは通常ObjectIdになります _idを使用 暗示されます。以下に示す例:

    var ScoreSchema = new mongoose.Schema({
        user : { type: Schema.Types.ObjectId, ref: 'User' },
        game : { type: Schema.Types.ObjectId, ref: 'Game' },
        score: Number
    });
    

    何らかの理由でレコードの番号IDを維持する必要がある場合は、それをuidと呼ぶことを検討してください。 またはmongo/mongooseの内部と競合しないもの。頑張ってください!



    1. MeteorJSのMongoDBコレクションでサブドキュメントの配列を更新する方法

    2. MongoDB:スキーマの移行、更新、または挿入

    3. 最初に古いデータを一貫して削除するようにredisを構成する

    4. Redisでのトランザクションとウォッチステートメント