如何使用 handlebars 使用来自数据库的数据创建 table?

How to create a table using data coming from database using handlebars?

我正在尝试使用来自数据库的数据在把手中制作一个 table。我使用了以下代码,但它不起作用。

 <h1>Employees</h1>
<div class="row">
  <table>
    <thead>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Department</th>
      </tr>
    </thead>
        <tbody>
        {{#each employees}}
                <tr>
                    <td>{{employees.id}}</td>
                    <td>{{employees.name}}</td>
                    <td>{{employees.department}}</td>
                </tr>
        {{else}}
        <p>No employees to display</p>
        {{/each}}
        </tbody>
    </table>
</div>

我将数据传递给模板,如下所示。当我控制台记录数据时,数据就在那里。

  router.get('/employees',async (req, res) => {
  try {
    const employees = await Employee.find()
      .sort({ _id: 'desc' })
      .lean()
    console.log(employees);
    res.render('stories/index', {
      employees,
    })
  } catch (err) {
    console.error(err)
    res.render('error/500')
  }
})

当您使用 Handlebars 时,在引用属性时不应提供集合名称:

<tbody>
  {{#each employees}}
  <tr>
    <td>{{id}}</td>
    <td>{{name}}</td>
    <td>{{department}}</td>
  </tr>
  {{else}}
    <p>No employees to display</p>
  {{/each}}
</tbody>