获取和显示猫鼬架构属性

时间:2020-05-10 19:14:09

标签: javascript node.js mongodb express

我有一个充满笑话的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"),

那么,为什么会这样呢?我该如何解决? 非常感谢

2 个答案:

答案 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)