我正在开发一个简单的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>
<% }); %>
非常感谢你!
答案 0 :(得分:1)
从技术上讲,<%- JSON.stringify(words) %>
应该足够了,但我的IDE会在没有额外逻辑的情况下触发错误,因为它不知道<%- ... %>
会解析为对象数组。
另请注意,使用<%- unescaped %>
代替<%= escaped %>
。
<script>
var words = JSON.parse('<%- JSON.stringify(words) %>');
console.log(words);
</script>