[英]Display FindOne query in Nodejs ejs
我可以讓所有數據庫數據在我的 ejs 中呈現。 我在選擇一張唱片時遇到問題,即返回千斤頂記錄。 findOne 似乎可以作為 FindOne 上的 console.log 返回該人的記錄,但它在 ejs 頁面上不起作用,收到我的 No record found 消息。
查找所有的工作代碼是:
服務器.js
app.get('/vieworders', require('connect-ensure-login').ensureLoggedIn(), function(req, res) {
Order.find(function(err, orders) {
res.render('vieworders', { orders: orders});
});
});
和 ejs
<h1> Display Orders Here </h1>
<% if(orders.length>0) { %>
<table border="1">
<tr>
<th>Index</th>
<th>Name</th>
<th>size</th>
</tr>
<% for(var i=0; i<orders.length;i++) { %>
<tr>
<td><%= i %></td>
<td><%= orders[i].name %></td>
<td><%= orders[i].ordersize%></td>
</tr>
<% } %>
</table>
<% } else { %>
No Record Found
<% } %>
我想要的是類似於下面的內容,而不是獲取所有記錄,我只獲取 jacks 記錄
app.get('/vieworders', require('connect-ensure-login').ensureLoggedIn(), function(req, res) {
Order.findOne({name: 'jack'}, function(err, orders) {
res.render('vieworders', { orders: orders});
});
});
FindOne 僅返回一項,因此,在 ejs 中,您將得到 orders.length 0 或可能未定義。
嘗試在 FindOne 中將變量名稱更改為 order 並更改如下:
<% if(order or orders.length>0) { %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.