清除路线变化的客户收集

时间:2014-12-17 14:14:36

标签: meteor iron-router

我一直在努力解决Meteor +铁路由器中的以下问题:

我有一个订阅mongo集合的页面(路线)

在那个页面上,我有一些逻辑依赖于游标查询集合,还使用了observeChanges处理程序(即我正在对该集合运行搜索)

在这种情况下的问题是在整个路线更改过程中,客户端会保留集合,这会导致2个不必要的影响:

1)在该路线之外不一定需要该集合,这意味着我浪费了客户端RAM(该集合,甚至其中的一部分,可能非常大)

2)每当我回到那条路线时,我想从一个空子集开始,以便observeChanges处理程序正常工作。

有关如何清除镜像集合的任何建议? (使用Collection._collection.remove({})hack是不好的做法,甚至没有解决问题)

谢谢!

1 个答案:

答案 0 :(得分:1)

通过存储订阅句柄解决了这个问题。用它们取消订阅template.destroyed()上的数据(即subscription_handle.stop())