猫鼬限制渲染问题

时间:2019-11-12 01:57:45

标签: express mongoose ejs

我试图在EJS中实现无限滚动,并尝试首先呈现数据库项,但仅将其限制为1。因此,我在ejs中创建了一个测试页,并能够以明文形式呈现数据库中的第一项。

表达/猫鼬服务器端:

app.get("/test",(req,res)=>{
  database.find({}, (err, found) => {
    if (!err){
      res.render("test",{
        db           :found,
        logStatus    :true,
      });
    } else {
      console.log(err);
    }
  }).limit(1);
});

EJS:

<boilerplate code for header and navbar>

<p><%=db%></p>

<boilerplate code for footer>

这部分有效,因此我接下来尝试分别加载数据库内容:

表达/猫鼬服务器端:

app.get("/test",(req,res)=>{  
  database.find({}, (err, found) => {
    if (!err){
      res.render("test",{
        db           :found,
        link         :found.link,
        name         :found.name,
        price        :found.price,
        logStatus    :true,
      });
    } else {
      console.log(err);
    }
  }).limit(1);
});

EJS方面

<boilerplate code for header and navbar>

<p><%=link%></p>

<boilerplate code for footer>

这什么都没渲染,所以我完全不知道为什么。

1 个答案:

答案 0 :(得分:1)

HomeController方法返回一个文档数组,因此find()是一个数组,您不能在其上调用found。您可以将其更改为.link或使用found[0].link方法。