我正在尝试访问博客架构中的正文。我该怎么做。
架构:
var ArticleSchema = new mongoose.Schema({
blog: [{
topic: { type: String, unique: false, lowercase: true },
body: { type: String, unique: false, lowercase: true },
tags: [ 'first', 'mongodb', 'express'],
created: Date,
modified: { type : Date, default : Date.now },
state: { type: String, unique: false, lowercase: true }
}]
});
**
路由器
**
router.get('/blog/article/:postid', function (req, res, next) {
Article.findById({ _id: req.params.postid }, function (err, article) {
if (err) return next(err);
res.render('main/publishedArticle', {
article: article,
message: req.flash('showing article ' + article.title)
});
});
});
**
publishedArticle.ejs
**
<h3><%= article.blog.body %></h3>
我未定义
答案 0 :(得分:1)
您已将博客架构声明为对象数组(请注意,您已使用对象周围的[]作为博客项目)。如果这是故意的,那么您需要使用数组索引访问文章的各种 blog 元素(或使用循环迭代它们)。下面的代码段假定您的文章至少保存了一个博客条目:
<h3><%= article.blog[0].body %></h3>