0
我正在使用Mongoose & Nodejs編寫論壇模塊。在單個查詢中填充嵌入數組屬性的字段
我有一個ForumPost對象的集合,它有一個屬性「comments」,它是一個包含引用屬性「author」的貓鼬模式,它引用了User模型。我無法填充「評論」數組中的每個項目的「作者」屬性。
這裏的ForumPost對象定義:
var ForumPost = db.model("ForumPost", {
author: { type: Schema.Types.ObjectId, ref: "User", required: true, default: null, select: true},
comments: [new db.Schema({
author: { type: Schema.Types.ObjectId, ref: "User" },
comment: { type: String, default: ""},
})]
});
當我拉這從數據庫中,我填充論壇的帖子,因爲它是一個基本的填入操作的正常工作的「作者」字段中。
我一直在試圖填充評論陣列的「作者」字段今天上午無濟於事,我的最新嘗試發佈如下。
我用下面的查詢:
ForumPost.findOne({alliance_id: alliance._id, _id: post_id})
.populate("author")
.populate({
path: 'comments',
populate: {
path: 'comments.author',
model: 'User'
}
})
.select("comments")
.exec(function(error, post) {
return res.json(post);
});
這是可能來填充這個單一查詢ForumPost的意見數組中的對象的「作者」字段?
http://stackoverflow.com/questions/24358630/populate-ref-nested-in -object-array –
這個答案適用於這個問題意味着(我認爲)我必須拉動ForumPost對象,然後遍歷comments數組中的對象並手動獲取它們。我正在查看是否有可能在相同的查詢中執行此操作。我已經編輯了這個問題,使這個更清晰 –
試試這個http://stackoverflow.com/questions/10568281/mongoose-using-populate-on-an-array-of-objectid 它是可能的,你將不得不註冊評論作爲這個工作的模式。 –