簡體   English   中英

Mongoose 和 Node 錯誤:無法讀取未定義的屬性“forEach”

[英]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.jsonres.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM