从节点服务器前端的 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>
<% } } %>
我正在尝试渲染一个 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>
<% } } %>