如何使用猫鼬渲染数据库的内容?

时间:2019-05-11 10:34:05

标签: node.js mongodb mongoose ejs

我正在尝试渲染mongo数据库的组件。我已经尝试过res.send并可以正常工作,但是当我尝试将res.send渲染到index.ejs文件中时,它不起作用。 Console.logging在起作用,但是渲染不起作用。我想我缺少了什么。

我尝试过res.send(posts)。通过发送get请求已经找到了帖子,并且在渲染res.render('index.ejs',{posts:foundPosts})中定义了这样的帖子 res.send(posts)正在工作,并向我显示我的帖子,但是ejs无法工作。 我的EJS代码
由于堆栈溢出问题而卸下了支架。但是这些都存在于原始编码中。

app.get('/', function(req, res){
post.find({}, function(err, posts){
    if(err){
        console.log(err);
    } else {
        res.render('index', {posts: posts});
    }
});
});
<h1><%= posts.title %></h1>
 <img src="<%= posts.url %>" alt="">

我希望在那里所有帖子,但是它显示空白页。

1 个答案:

答案 0 :(得分:0)

我认为我发现了这里的主要问题。为此,您要从数据库中返回帖子列表,您必须使用循环。像这样编辑您的 index.ejs 文件:

<% posts.forEach(function(row){ %>
   <ul>
       <li> <%= row.title %> </li>
    </ul>
<% }) %>