将带有 nodejs/mongodb 的数据传递到前端(在浏览器上未定义)

passing data with nodejs/mongodb to the frontend (undefined on the browser)

我想从 mongodb 数据库中获取数据并将其传递给 frond。 我写了这个函数,它在控制台中工作,我得到一个包含一些元素的数组,但在浏览器上我得到 undefined。我使用 nodejs(express, ejs) 和 mongodb.

getAllOrders: function(companyName) {
    client.connect().then((client)=>{
         let db = client.db('data')
         db.collection('order').find({companyName:companyName}).toArray(function(err, result) {
            if (err) throw err
            console.log(JSON.stringify(result.map(a => a.orderIdem))) // output all orderIdems
        });
    });
} 

//App.js

app.get('/', async function(req, res) {
    let orderItem = await db.getAllOrders("SuperTrader");
    console.log(orderItem); // here i get a response
    res.render('index', {
        orderItem: orderItem,
    });
});

//前端 //index.ejs

   <h2>Variable</h2>
   <p><%= orderItem %></p> 

//orderItem[0]也不行

函数没有返回任何内容。试试这个:

getAllOrders: async function(companyName) {
    return client.connect().then((client)=>{
         let db = client.db('data')
         return await db.collection('order').find({companyName:companyName});
    });
}