如何使用 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>
我正在尝试使用来自数据库的数据在把手中制作一个 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>