首先,我通过服务器目录中的fixtures文件为一个Activities集合播种。该系列有很多课程。不同的课程可能具有相同的“主题”字段。 我想按主题领域组织所列课程;所以我首先显示所有主题的列表。要确定活动数据库中的主题,我使用下面的courseTopics助手。
简化以便澄清
服务器/ fixtures.js
if Activities.find().count == 0 {
acts= [ {type: 'course', topic: 'science'}, ....]
_.each(acts, function(act) {
Activities.insert(act);
})
}
的客户机/ activityList.coffee
Template.topicsList.helpers
courseTopics: ()->
topicsList = []
cLq = Activities.find({type: 'course'})
handle = cLq.observeChanges({
added: (id, user)->
console.log "add to activities.", arguments
});
cL = cLq.fetch()
_.each cL, (c)->
if _.indexOf(topicsList, c.definition.topic) is -1 {
topicsList.push(c.definition.topic)
}
tL = _.map topicsList, (t) ->
{topic: t}
我的问题是整个课程列表无效; ... cLq.observeChanges回调显示该集合正在响应一个事件,其中每10秒重新添加一个“课程”活动文档;显然与司机民意调查有关。
我的目录树上的grep只显示初始服务器fixtures文件中的Activities.insert;而且我不知道在哪里可以看到触发重复“添加”的内容。有什么建议吗?