我有一个充满笑话的mongodb集合,架构看起来像这样
const mongoose = require ("mongoose");
// Dad Joke Schema
const jokeSchema = new mongoose.Schema({
content: String
});
module.exports = mongoose.model("Joke", jokeSchema)
我想做的是在html中显示笑话的内容。我试过的是这个:
<div>
<p><%= jokes.content %></p>
</div>
问题是,当我这样做时,什么都不会显示,但是当我写<%= jokes%>时,它会显示整个模型,内容以及对象ID。
我的get方法如下:
app.get("/dadJokeIpsum", (req, res) => {
Joke.find({}, function(err, jokes) {
if(err) throw err;
res.render("dadJokeIpsum", {jokes:jokes})
})
})
我在app.js的顶部要求这样做:
Joke = require("./models/dadJoke"),
那么,为什么会这样呢?我该如何解决? 非常感谢
答案 0 :(得分:1)
笑话是一个数组。
所以您需要这样显示它:
<% for (var i = 0; i < jokes.length ; i++) { %>
<p> <%= jokes[i].content %> </p>
<% } %>
答案 1 :(得分:1)
<p> <%=jokes[i].content %> </p>
请使用笑话和获取内容的长度进行循环。
,您还可以使用 findOne 方法来获取一些选定的数据。
Joke.findOne({}, function(err, jokes)