Mongoose är utformad på ett sådant sätt att du kan modellera dina tabeller relationellt med relativ lätthet och fylla i relationsdata baserat på ref
du definierade i schemat. Problemet är att du måste vara försiktig med att fylla. Om du befolkar för mycket eller häckar dina populationer kommer du att stöta på prestandaflaskhalsar.
Ditt tillvägagångssätt i Edit 1
är i stort sett korrekt men du vill vanligtvis inte fylla i en fjärrkontrollerad ref
baserat på ett Number
eller ställ in _id
av en modell till ett Number
eftersom mongo använder sin egen hashmekanism för att hantera _id
, skulle detta vanligtvis vara ett ObjectId
med _id
underförstådd. Exempel som visas nedan:
var ScoreSchema = new mongoose.Schema({
user : { type: Schema.Types.ObjectId, ref: 'User' },
game : { type: Schema.Types.ObjectId, ref: 'Game' },
score: Number
});
Om du av någon anledning behöver behålla ett nummer-ID för dina register, överväg att kalla det uid
eller något som inte kommer i konflikt med mongo / mongoose internals. Lycka till!