【发布时间】:2017-10-02 10:23:09
【问题描述】:
不确定我想要做的事情是否可行。
我想通过从引用用户架构(模型)的评论架构(模型)的文章文档中检索数据,在我的用户架构(模型)中显示“名称”属性的值。
'article' 引用了 'comment',它引用了 'user',其中包含我想要检索的 'user.name' 值。
通过 ID 数据检索文章并填充“作者”和“cmets”字段的控制器代码如下所示:
Article.findById(req.params.id)
.populate('author')
.populate('comments')
.exec(function(err, article){
if(err){
return req.flash('error', 'Unable to display article.');
} else {
res.render('articles/show', {
article: article
});
}
});
我的文章架构(模型)包含一个像这样的“cmets”属性:
...
comments: [
{
type: Schema.Types.ObjectId,
ref: "Comment"
}
],
...
我的评论架构(模型)包含一个“作者”属性,如下所示:
...
text: String,
author:
{
type: Schema.Types.ObjectId,
ref: "User"
},
...
用户架构(模型)具有“名称”属性,该属性包含我想要在视图 (EJS) 中显示的值。
所以,到目前为止,我一直无法找到显示它的方法,可能是因为没有其他查询我无法做到。
我遍历 'article.cmets' 数组并成功显示带有 <%= comment.text %> 的评论文本,但我无法从评论中引用的 'user' 架构(模型)中找到显示 'name' 属性的方法架构(模型)。
对于我的错误的任何见解,我将不胜感激。
【问题讨论】:
标签: node.js mongodb express mongoose