从节点服务器前端的 mongoDB 对象中提取数据时出现问题。 (JavaScript/EJS)

Problem with pulling data from mongoDB object in frontend for node server. (JavaScript/EJS)

我正在尝试渲染一个 mongoDB 对象,但它没有完成我想要完成的事情。

我的代码(ejs):

<% for(let date in data) { %>
          <% let parsedDate = Date.parse(date); %>
          <% let totalTime = 0; %>
          <% if(isNaN(parsedDate)) { %>             
              <p> <%= date %> is not date </p>
          <% } else { %> 
            <p> <%= date %> is a date </p>
            <% for(subject in data[date]) { %>
              <p> subject:  <%= subject %> time: <%= data[date][subject].time %> description: <%= data[date][subject].description %> </p>
              <% totalTime += parseInt(subject.time) %>
             <% } %>
            <p> <%= totalTime %></p>
          <% } } %> 

输出:

如您所见,只显示 0。为什么连0都出现了?对象名称是“测试”。

我的数据库是什么样的:

您在循环中已经有了日期值,可以使用 date.date 或 date.time 从中访问信息,或者循环属性而不是使用 data[date][subject] 使用 for(subject在 data[date]) 中,然后使用 subject.time

访问信息

我想通了。

这是正确的代码:

<% for(date in data) { %>
          <% let parsedDate = Date.parse(date); %>
          <% let totalTime = 0; %>
          <% if(isNaN(parsedDate)) { %>             
              <p> <%= date %> is not date </p>
          <% } else { %> 
            <p> <%= date %> is a date </p>
            <% for(subject in data[date]) { %>
              <% for(element in data[date][subject]) { %>
              <p> subject:  <%= data[date][subject][element].name %> time: <%= data[date][subject][element].time %> description: <%= data[date][subject][element].description %> </p>
              <% totalTime += parseInt(data[date][subject][element].time) %>
             <% } } %>
            <p> <%= totalTime %></p>
          <% } } %>