我设计这个应用程序的人要求她能够在接下来的7天内制作一个有生日的人的电子邮件列表。该集合中的一个字段是Bdate,格式为' YYYY-MM-DD'。我决定用一个简单的算法创建一个registerHelper,确定生日是否适合请求:
Template.registerHelper('calculateBirthday', function(bdate) {
var birthDate = new Date(bdate);
var current = new Date();
var diff = current - birthDate; // Difference in milliseconds
var sevenDayDiff = Math.ceil(diff/31557600000) - (diff/31557600000);
if (sevenDayDiff <= 0.01995183087435)
return date;
else
return false;
});
该模板将有一个表格,列出了为电子邮件列表获取的生日:
<table class="bordered">
<thead>
<tr>
<th>Name</th>
<th>Birthday</th>
</tr>
</thead>
<tbody>
{{#each QueryBirthday}}
<tr>
<tr>{{FullName}}</tr>
<td>{{calculateBirthday Bdate}}</td>
</tr>
{{/each}}
</tbody>
</table>
这个问题是它打印的所有名称大多是空白的生日。该算法工作正常,但如何告诉Meteor只包括那些应该&#39;应该&#39;在名单上?
答案 0 :(得分:3)
隐藏不需要的项目的最快方法是
every 5 minutes
我不知道你的应用程序是如何工作的,但是像其他评论你问题的人一样,我会过滤并仅将所需的结果从服务器发送到客户端。