Mongoose je navržen tak, abyste mohli své tabulky relačně modelovat relativně snadno a naplňovat relační data na základě ref
které jste definovali ve schématu. Problém je v tom, že musíte být opatrní s osídlením. Pokud zalidníte příliš mnoho nebo vnoříte své populace, narazíte na problémy s výkonem.
Váš přístup v Edit 1
je z velké části správný, ale obvykle nechcete naplnit vzdálený ref
na základě Number
nebo nastavte _id
modelu na Number
protože mongo používá svůj vlastní hashovací mechanismus pro správu _id
, obvykle to bude ObjectId
s _id
implicitní. Příklad uvedený níže:
var ScoreSchema = new mongoose.Schema({
user : { type: Schema.Types.ObjectId, ref: 'User' },
game : { type: Schema.Types.ObjectId, ref: 'Game' },
score: Number
});
Pokud z nějakého důvodu potřebujete zachovat číslo id pro vaše záznamy, zvažte jeho volání uid
nebo něco, co nebude v rozporu s vnitřními prvky mongo / mongoose. Hodně štěstí!