2017-10-05 46 views
1

我有以下模式:屬於作爲Mongoose中數組中對象值的Schema的對象的深度人口。

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

我不能爲我的生活弄清楚如何填充每個流。此代碼以及我嘗試過的許多變體都無效。

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

增加的分離程度使我很難。我將如何獲得每個流屬性?

回答

0

這個怎麼樣:

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

哈哈。我複製了你的代碼去測試它,並且已經有了和我測試過的最後一樣完全相同的代碼。 不包括對象周圍的大括號。我仍然試過你的,因爲我想,「也許傑有一些祕密的語法知識。」 你這樣做。我以前從你那裏看過。 –

+0

困難的是添加的嵌套層。 –

相關問題