将带有 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});
});
}
我想从 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});
});
}