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の内部と競合しないもの。頑張ってください!