我试图在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>
这什么都没渲染,所以我完全不知道为什么。
答案 0 :(得分:1)
HomeController
方法返回一个文档数组,因此find()
是一个数组,您不能在其上调用found
。您可以将其更改为.link
或使用found[0].link
方法。