【问题标题】:how to access the object in ejs如何访问ejs中的对象
【发布时间】:2018-08-03 08:44:21
【问题描述】:

图片This is how ist's displayed on the web 我想访问对象部分以使用 EJS 显示数据。我未能访问对象数据。

我的架构

let Subject = mongoose.Schema({
  name:[],
  crh:[]
});

let Program = mongoose.Schema({
  name: String,
  semester: Number,
  subject:[Subject]
});

let School = mongoose.Schema({
      name:{
        type: String,
      },
      program:[Program]
})

从数据库中获取日期的发布方法

router.post('/view',(req,res) =>{
  let school = req.body.school;
  let semester = req.body.semester;
  let program = req.body.program;
  All.find({name:school,"program.name":program,"program.semester":semester},(err,record) =>{
    if(err) throw err;
    if(!record){
      req.flash("error","We couldn't find any relevant document! ");
      res.redirect('/admin/view');
    }
    if(record){
      console.log(record);
      res.render("./admin/viewSub",{find:record});
    }
  })
})

安慰数据!我如何从 ejs 访问对象的数据。我想在表中显示对象内部的数据。当我尝试使用“。”时,我只想知道如何访问它。达到积分;我无法访问数据。

[ { program: [ [Object] ],
    _id: 5a9045474b530750a4e93338,
    name: 'sose',
    __v: 0 } ]

【问题讨论】:

  • 能否给出found[0].school in的输出
  • @Rupesh 我已经编辑了上面的代码,我玩了一会儿,仍然卡在同一个地方。这就是它现在的样子。
  • 我也附上了一张图片。

标签: node.js mongodb ejs


【解决方案1】:

试试这个。

<ul>
   <li><%= find.name %></li>
</ul>
<ul>
   <%for (var prog in find.program){%> //to fetch data from array of array
   <li><%= prog.name %></li>
   <li><%= prog.semester %></li>
   <ul>
      <% for (var sub in prog.subject){%> 
      <li><%= sub %></li>
      <%}%>
   </ul>
   <%}%>
</ul>

【讨论】:

  • 从代码中删除注释行//take to fetch data from array
  • 还是空白的,和之前的图片一模一样。
  • 在 ejs 页面上试试这个&lt;p&gt;&lt;%=find%&gt;&lt;pi&gt; ,显示输出
  • 还是一样。相同的列表样式点来了,然后是空白。
猜你喜欢
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 2020-12-08
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
  • 2015-10-24
  • 2021-04-09
相关资源
最近更新 更多