O Mongoose foi projetado de tal forma que você pode modelar suas tabelas relacionalmente com relativa facilidade e preencher dados relacionais com base no
ref
você definiu no esquema. A pegadinha é que você precisa ter cuidado com o preenchimento. Se você preencher demais ou aninhar suas populações, você terá gargalos de desempenho. Sua abordagem em
Edit 1
está em grande parte correto, no entanto, você geralmente não deseja preencher um ref
remoto com base em um Number
ou defina o _id
de um modelo para um Number
já que o mongo usa seu próprio mecanismo de hash para gerenciar o _id
, normalmente seria um ObjectId
com _id
implícita. Exemplo como mostrado abaixo:var ScoreSchema = new mongoose.Schema({
user : { type: Schema.Types.ObjectId, ref: 'User' },
game : { type: Schema.Types.ObjectId, ref: 'Game' },
score: Number
});
Se por algum motivo você precisar manter um id de número para seus registros, considere chamá-lo de
uid
ou algo que não entre em conflito com os internos do mongo / mangusto. Boa sorte!