2017-10-05 4 views
1

J'ai le schéma suivant:Profond Population d'un objet appartenant à un schéma qui est la valeur d'un objet dans un tableau dans Mongoose.

const userSchema = new Schema({ 
    name: String, 
    favoriteStreams: [ 
     { 
      stream: { 
       type: Schema.Types.ObjectId, 
       ref: "Stream", 
       unique: true 
      }, 
      param: Number 
     } 
    ] 
}); 

Je ne peux pas pour la vie de me comprendre comment remplir chaque flux. Ce code, et de nombreuses variantes que j'ai essayé ne fonctionnent pas.

User.findOne({_id: req.user._id}) 
     .populate({path: "favoriteStreams", populate: {path: "stream", model:"Stream"}}) 

Le niveau de séparation ajouté a rendu ma tâche difficile. Comment pourrais-je obtenir à chaque propriété des cours d'eau?

Répondre

0

Qu'en est-ce:

User.findOne({_id: req.user._id}) 
.populate(path: "favoriteStreams.stream") 
+0

Haha. J'ai copié votre code pour le tester, et j'ai déjà exactement le même code que la dernière chose que j'ai testée. À l'exception des accolades autour de l'objet. J'ai encore essayé le vôtre, parce que j'ai pensé, "Peut-être que Jay a une connaissance secrète de la syntaxe." Vous le faites. Je l'ai déjà vu de vous auparavant. –

+0

La chose la plus difficile est la couche supplémentaire d'imbrication. –