在forEach中更新流星集合时的无限循环

时间:2015-01-20 18:50:32

标签: mongodb meteor

我正在创建一个网站,允许用户对他们喜欢的内容进行投票,以便在列表中影响他们的订单(例如reddit)。

当我使用forEach迭代我的集合然后尝试根据排序结果的索引更新每个条目时,它最终会以无限循环结束,我的应用程序崩溃了!

任何帮助都会很棒,代码如下。

MyList.find( {}, sort: votes: -1 ).forEach ( item, index ) ->

    MyList.update item._id, $set: rank: index

谢谢!

1 个答案:

答案 0 :(得分:0)

要停止某些代码导致重新运行,请使用Tracker.nonreactivehttp://docs.meteor.com/#/full/tracker_nonreactive

像这样:

Tracker.nonreactive ->
  MyList.find( {}, sort: votes: -1 ).forEach ( item, index ) ->
    MyList.update item._id, $set: rank: index