[英]Mongoose and Node error: cannot read property 'forEach' of undefined
我想將 MongoDB 中的所有內容顯示到我的 .ejs 文件中的表中。 但是我總是收到我在標題中寫的錯誤..
這是一些代碼片段:
這是我的路由 js 文件(users.js)
router.get ('/Benutzerverwaltung_Mitarbeiter', async (req, res) => {
User.find(function (err, users) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
return res.send(err);
res.json(users);
res.render('Benutzerverwaltung_Mitarbeiter',{
users: res.user
});
});
});
這是我的 .ejs 文件:
<%- include('../routes/users.js'); %>
<div>
<table id="tabelle" class="cell-border" class="table table-striped" cellspacing="0" class="table table-hover">
<thead>
<tr>
<th>UserID</th>
<th>Rolle</th>
</tr>
</thead>
<tbody>
<tr>
<% users.forEach (function (user) { %>
<td><%user.username%></td>
</tr>
<td><%user.admin%></td>
<%});%>
</tbody>
</table>
</div>
我希望你能幫助我:) 干杯,默特
res.json
和res.render
都是“終端”方法——你真的應該只在“完成”時使用它們一次,不要在同一個方法中同時使用它們。
我認為在這種情況下,您正在嘗試返回 html,而不是 json,因此您需要res.render
。 試試這個修改:
User.find(function (err, users) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
return res.send(err);
res.render('Benutzerverwaltung_Mitarbeiter',{
users: users || []
});
});
在 users.js 中,在 res.render 回調中,當您分配users
屬性時,我發現了一個錯字。
如果未定義應該保存數組的變量,則數組原型函數將始終拋出上述錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.