这些是我的数据模型:
var campSchema = new mongoose.Schema({
image : String,
description : String,
comment: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Comment"
}
],
feeds : [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Feed"
}
]
});
和:
var feedSchema = new mongoose.Schema({
text : String,
createdAt: { type: Date, default: Date.now },
author : {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
comment: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Comment"
}
]
});
这是我的nodejs请求,它不会将评论填充到我的模板中:
app.get("/feeds", isLoggedIn, function(req, res) {
console.log(req.user);
Camp.find({}).populate("feeds").populate("feeds.comment").exec(function(err, myCamp){
if(err){
console.log(err);
} else {
myCamp.forEach(function(camp){
if(camp.address === req.user.address){
console.log(building);
res.render("feeds/feeds", {building : building});
}
});
}
});
});
哪个不起作用!我想在 Feed 数据模型中填充评论到我的模板中。 如果有人能提供帮助,我将非常感激,谢谢。
答案 0 :(得分:1)
您应该将代码更改为
.populate({
path: 'feeds',
model: 'Feed',
populate: {
path: 'comment',
model: 'Comment'
}
})
使用https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval插件可以更轻松地帮助您轻松完成。