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
});
Ако по някаква причина трябва да поддържате идентификатор на номер за вашите записи, помислете дали да го наречете uid
или нещо, което няма да противоречи на вътрешностите на mongo / mongoose. Успех!