Mongoose ist so konzipiert, dass Sie Ihre Tabellen relativ einfach relational modellieren und relationale Daten basierend auf ref
füllen können Sie im Schema definiert haben. Das Problem ist, dass Sie beim Befüllen vorsichtig sein müssen. Wenn Sie zu viel bevölkern oder Ihre Populationen verschachteln, werden Sie auf Leistungsengpässe stoßen.
Ihr Ansatz in Edit 1
ist weitgehend richtig, aber Sie möchten normalerweise keinen entfernten ref
füllen basierend auf einer Number
oder setzen Sie die _id
eines Modells zu einer Number
da Mongo seinen eigenen Hashing-Mechanismus zum Verwalten der _id
verwendet , dies wäre normalerweise eine ObjectId
mit _id
impliziert. Beispiel wie unten gezeigt:
var ScoreSchema = new mongoose.Schema({
user : { type: Schema.Types.ObjectId, ref: 'User' },
game : { type: Schema.Types.ObjectId, ref: 'Game' },
score: Number
});
Wenn Sie aus irgendeinem Grund eine Nummern-ID für Ihre Unterlagen verwalten müssen, sollten Sie sie uid
nennen oder etwas, das nicht mit Mongo / Mongoose-Interna in Konflikt steht. Viel Glück!