如何访问ejs中的对象

时间:2018-02-23 10:07:23

标签: node.js mongodb ejs

图片 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]
})

从数据库访问日期的POST方法

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 } ]

1 个答案:

答案 0 :(得分:0)

试试这个。

          <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 subin prog.subject){%> 
                              <li><%=sub %></li>   

                        <%}%>
                    </ul>    
                <%}%>
           </ul>