Javascript .forEach仅重复数组中的最后一个对象
我想在前端(ejs)上显示保存在MongoDB表中的所有记录。我正在使用.forEach函数循环遍历所有记录,但我只能看到前端上的最后一个字段重复了很多次。下面是代码Javascript .forEach仅重复数组中的最后一个对象,javascript,node.js,arrays,express,ejs,Javascript,Node.js,Arrays,Express,Ejs,我想在前端(ejs)上显示保存在MongoDB表中的所有记录。我正在使用.forEach函数循环遍历所有记录,但我只能看到前端上的最后一个字段重复了很多次。下面是代码 <% Object.values(products).forEach(product => { %> <tr> <td class="border px-3 py-2"><%= products.title %></td>
<% Object.values(products).forEach(product => { %>
<tr>
<td class="border px-3 py-2"><%= products.title %></td>
<td class="border px-3 py-2"><%= products.description %></td>
<td class="border px-3 py-2"><%= products.category %></td>
<td class="border px-3 py-2"><%= products.usdPrice %></td>
</tr>
<% }) %>
})对于express controller逻辑,使用此选项获取所有产品:
products = await Product.find().toArray();
<% products.forEach(product => { %>
<tr>
<td class="border px-3 py-2"><%= product.title %></td>
<td class="border px-3 py-2"><%= product.description %></td>
<td class="border px-3 py-2"><%= product.category %></td>
<td class="border px-3 py-2"><%= product.usdPrice %></td>
</tr>
<% }) %>
现在,您已经在向模板传递“产品”。因此,您只需在模板中查看每个“产品”而不是“产品”的信息即可:
{%>
是否应该是product.title product.description?从末尾删除s。它捕获异常请在此处发布异常。{“message”:{}从try块下面的catch函数中,product.find()返回什么?数据库中的所有记录
<% products.forEach(product => { %>
<tr>
<td class="border px-3 py-2"><%= product.title %></td>
<td class="border px-3 py-2"><%= product.description %></td>
<td class="border px-3 py-2"><%= product.category %></td>
<td class="border px-3 py-2"><%= product.usdPrice %></td>
</tr>
<% }) %>