Nella versione attuale di Mongoose io ancora non vedo che multi ref possibile con sintassi come vuoi tu. Ma è possibile utilizzare parte del metodo "Popolamento su database" descritto here. Abbiamo solo bisogno di spostare la logica popolazione esplicitamente variante del metodo di popolazione:
var PeopleSchema = new Schema({
peopleType:{
//Just ObjectId here, without ref
type: mongoose.Schema.Types.ObjectId, required: true,
},
modelNameOfThePeopleType:{
type: mongoose.Schema.Types.String, required: true
}
})
//And after that
var People = mongoose.model('People', PeopleSchema);
People.findById(_id)
.then(function(person) {
return person.populate({ path: 'peopleType',
model: person.modelNameOfThePeopleType });
})
.then(populatedPerson) {
//Here peopleType populated
}
...
Questo non ha davvero senso in che modo Mongoose dovrebbe sapere quale modello fare riferimento per un determinato documento? Puoi fornire ulteriori dettagli su ciò che stai cercando di fare? – JohnnyHK
Grazie.OK, ad esempio, ho due tipi di merci, il modello AGoods e il modello BGoods. Inoltre, ho anche un modello Merci per salvarli tutti (solo con il riferimento). Quando trovo un bene, cercherò Modello di merci, quindi, se trovato, popolerà le vere informazioni fornite da AGoods o BGoods. –
hai trovato un modo per farlo? – timhc22