【问题标题】:How can I display/render data from mongoose model to ejs file如何将数据从猫鼬模型显示/渲染到 ejs 文件
【发布时间】:2020-06-26 18:21:34
【问题描述】:

我是编程新手。我有一个名为“RestInput”的猫鼬模型。我正在尝试弄清楚如何使用猫鼬在 .ejs 文件中呈现和显示信息。

在 app.js 中

router.get('/find',(req,res) => {
  RestInput.find({}, function(err,data) { 
    if(err){
        console.log(err);
        res.send(500).status;
    }
    else {
        res.render('find.ejs', {data : data});
        }            
  });
});

在 RestSchema.js 中

var express = require("express");
var mongoose = require("mongoose");

var restaurant = new mongoose.Schema({
  name: String,
  description: String,
  location: String,
  phone: Number

});
module.exports = mongoose.model("RestInput", restaurant);

在我的 .ejs 文件中

 <% data.forEach(function (items) { %>
        <td> <%= items.name %> </td>
        <td> <%= items.description %> </td>
        <td> <%= items.location %> </td>
        <td> <%= items.phone %> </td>
      <% }) %>  
     </tr>

数据已成功保存,但当我尝试访问我的 ejs 文件时,我收到一条错误消息,指出数据未定义。

如果您能帮助我,我将不胜感激。

【问题讨论】:

  • 我看不出该代码会抛出该错误的任何原因。如果要打印,控制台中的数据输出会是什么?
  • 不需要添加ejs文件终止。错误没有得到正确处理。您可以为此使用下一个功能或例如: res.status(500).send(err.message);
  • 当我显示数据时,电话属性没有出现。我不知道为什么会这样。请帮忙。

标签: node.js mongoose ejs


【解决方案1】:
<table>
 <tr>
  <th>Dta</th>
</tr>
//Here I used variableName as Variable
<% for (var i = 0; i < variable.length; i++) { %>
<tr>
  <td><%= variable[i].name %></td>
  <td><%= variable[i].description %></td>
  <td><%= variable[i].location %></td>
  <td><%= variable[i].phone %></td>
</tr>    
<% } %>
</table>

【讨论】:

  • 我这样做了,但电话属性仍然没有出现。似乎这个特定的属性根本没有保存在数据库中。
  • 您是否创建了 Schema 的实例?如果您创建像 const restaurant = new Restaurant 这样的实例,那么您需要传递 res.render('find.ejs', {'data' : req.restaurant}); 并在您的 ejs 文件中尝试访问像 &lt;%= data.name %&gt; 这样的值并访问另一个值 &lt;%= data.phone % &gt;
  • 是的,我有这个:var myData = new RestInput(req.body),我在我的 .save() 方法中使用。
  • 然后您需要将 thismyData 传递到您的 app.js 文件中,像这样进入您的 GET 路由中的 else 替换为这一行 res.render('find.ejs', {'data' : req.myData}); 和您的 ejs 文件尝试访问 &lt;=% data.phone %&gt; 之类的值
猜你喜欢
  • 2014-04-11
  • 2016-03-01
  • 1970-01-01
  • 2021-03-25
  • 2018-02-09
  • 2021-10-04
  • 2016-05-01
  • 2016-03-06
  • 2016-07-14
相关资源
最近更新 更多