如何真正删除陨星的Minimongo /本地缓存

How to REALLY delete Meteor's Minimongo / local cache?

本文关键字:缓存 Minimongo 何真正 删除      更新时间:2023-09-26

我的集合中有大约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个条目,因为其中一些已经在那里了。

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

编辑:我尝试了clear()reset()从Arunoda的submanager,但它没有做的伎俩…同样的行为。

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

在文档中(对我来说)这真的很不清楚。