簡體   English   中英

在 Nodejs ejs 中顯示 FindOne 查詢

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

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