Vous disposez actuellement d'un concept de diaporama et de différents types de diapositives. Je tente de remplir un tableau slides
sur un objet de diaporamas avec un ensemble de références dynamique comme type de diapositive pour obtenir un tableau rempli de diapositives avec différents documents. Sous le titre "Références dynamiques", les codes de http://mongoosejs.com/docs/populate.html correspondent à ceux de mon document.Utilisation de Mongoose Dynamic Populate avec un résultat inattendu
// Abreviated slideshow model
var slideshowSchema = mongoose.Schema({
slides: [{
slideType: String,
item: {
type: Schema.Types.ObjectId,
refPath: 'slides.slideType'
}
}]
}]
// controller get route
app.get('/slideshow/:id', function(req, res, next) {
var id = req.params.id;
if(id){
Slideshow
.findById(id)
.populate('slides.item')
.exec(function(err, slideshow) {
res.writeHead(200, { "Content-Type": "application/json" });
res.end(JSON.stringify(slideshow));
});
}
else{
return next();
}
});
// type of slide trying to be populated
var currentWeatherSchema = mongoose.Schema({
slideType: {
type: String,
required: true
},
slideshowId: {
type: Schema.Types.ObjectId,
required: true
}
// other unique props
});
Lorsque vous effectuez une Populate directe sur un slideType hardcoded, les diapositives peuplent comme prévu, et lors de l'exécution du code ci-dessus je reçois une réponse, et le tableau de diapositives est rempli avec la bonne quantité d'objets, mais ils ressembler à ceci au lieu du document prévu:
"slides": [
{
"_bsontype": "ObjectID",
"id": {
"type": "Buffer",
"data": [
89,
126,
152,
150,
243,
157,
179,
147,
165,
23,
247,
56
]
}
}
]
J'ai lu à travers les exemples innombrables fois, et ne peut pas savoir où je vais mal. Est-ce que quelqu'un a de l'expérience en la matière ou voit-il ce que je peux manquer?