0

首先,我通过服务器目录中的装置文件播种活动集合。该系列有许多课程。不同的课程可能具有相同的“主题”字段。我想按主题字段组织呈现的课程列表;所以我首先显示所有主题的列表。为了确定活动数据库中的主题,我使用了下面的 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 仅在初始服务器装置文件中显示 Activities.insert;而且我不知道在哪里可以看到触发重复“添加”的原因。有什么建议么?

4

0 回答 0