如何真正删除Meteor的Minimongo /本地缓存?

时间:2015-09-08 18:09:51

标签: javascript meteor

我的馆藏中收集了大约60个文件,名为Books。每次调用publishFunction时,服务器都会从Books中返回10个随机文档。

之前,我正在刷新页面以使publishFunction运行,并且一切正常(我在客户端上有10个随机文档),但刷新需要一段时间&它只是笨重。

现在,我正在从客户端调用Meteor.subscribe( 'publishFunction' )来动态刷新订阅,执行我需要对onReady回调中的新文档执行的操作。

但这是一个问题。

publishFunction每次返回10个项目,保证(通过从服务器输出计数进行测试)。服务器正在按预期工作。

但是在客户端......我没有在客户端上获得这10个新项目。我将在第一次加载页面时获取它们(就像我之前所做的那样),但是每次从客户端调用publishFunction时(我在调用Books._collection.remove({});后清除旧的在客户端上显示的文档略少于10个(尽管publishFunction同时返回了10个文档)。

它通常是这样的:10,7,5,3,2,0(后续刷新后返回的项目数)。

我在Books中没有很多文档,所以我的预感是Books._collection.remove({});并未真正清除本地缓存。这可以解释逐渐减少的新书数量,因为Meteor仍然可以看到缓存的文档并且不会添加所有10个项目,因为其中一些区域已经存在。

如何在不更改路线的情况下真正清除本地缓存?

编辑:我尝试过来自Arunoda的子经理clear()reset(),但它没有做到这一点......同样的行为。

1 个答案:

答案 0 :(得分:0)

显然,stop()方法也会重新订阅订阅,因此不需要进一步Meteor.subscribe()。问题解决了。

文档(对我来说)真的不清楚。