我正在学习如何以html显示mongodb数据,但是当我从网络学习时,该代码将无法工作。我想创建按钮来更改页面以查看数据,并且我不知道如何将数据呈现给ejs。
我试图找到一些解决网络问题的方法,但大多数不是我所遇到的问题。 查找数据的代码
app.post('/viewdata', function (req, res) {
res.render('staffDisplay');
try{
MongoClient.connect(uri, function(err, client) {
if(err) {
console.log('Error occurred while connecting to MongoDB Atlas...\n',err);
}else{
var game=[];
var collection = client.db("GameDB").collection("Game");
var result = collection.find();
result.forEach(function(error,result){
if(error){
console.log(error);
}else{
if(result != null){
game.push(result);
}else{
console.log(game);
res.render('views/staffDisplay.ejs',{game:result})
}
}
})
console.log('show');
client.close();
}
});
}catch(ex){
throw new Error(ex.toString());
}
});
display.ejs
//skip the html code
<ul>
<% for(var i=0;i<=game.length;i++) {%>
<li><%=game[i].gName%></li>
<li><%=game[i].gDesc%></li>
<li><%=game[i].gDate%></li>
<%}%>
</ul>
结果是显示“游戏未定义”,我该怎么办?
答案 0 :(得分:0)
您能否尝试在第一部分中删除此res.render('staffDisplay');
,然后用此res.render('views/staffDisplay.ejs',{game:result})
替换res.render('staffDisplay.ejs',{game:result})