将数据从mongodb推送到前端阵列

时间:2017-08-30 21:25:08

标签: express ejs

我正在开发一个简单的node.js应用程序,该应用程序使用mongodb存储数据。我在向数据库添加新记录或使用ejs显示数据库记录时没有任何问题。但是,我想在前端使用我的数据库中的数据(顺便提一下单词列表)。具体来说,我想将查询结果推送到一个数组中,我可以在前端js文件中使用它。这可能吗?

这是GET路线:

 app.get("/wordlist", function (req, res) {
      Word.find({}, function(err, allWords){
        if(err){
          console.log(err);
        } else {
          res.render("index", {words: allWords});
        }
      });
    });

这是我用来在ejs文件中显示数据的简单循环:

<% words.forEach(function(foo){ %>
  <p><%= foo.word + " " + foo.category + " " + foo._id %></p>
<% }); %>

非常感谢你!

1 个答案:

答案 0 :(得分:1)

从技术上讲,<%- JSON.stringify(words) %>应该足够了,但我的IDE会在没有额外逻辑的情况下触发错误,因为它不知道<%- ... %>会解析为对象数组。

另请注意,使用<%- unescaped %>代替<%= escaped %>

<script>
    var words = JSON.parse('<%- JSON.stringify(words) %>');
    console.log(words);
</script>