非反应性Meteor db订阅是否可行?

时间:2014-01-27 16:20:18

标签: javascript meteor

我发布了服务器端集合中的文档。但是,我不需要客户端的反应。

出于性能原因,我想像在传统的Web应用程序中一样从客户端手动查询数据库。

一个选项是订阅然后停止订阅。

// something like this:
var People = new Meteor.Collection('people');
var handle = Meteor.subscribe('people'); // assume people is published on server
var results = People.find().fetch()
handle.stop();

但是,调用handle.stop会清除客户端的缓存。我想保留缓存并根据需要手动重新下载内容。这可能吗?

修改:我刚找到{reactive: false} option for Collection.find()。这可以防止更改使计算无效。我相信它不会阻止DB中的更改与minimongo集合同步。这是对的吗?

1 个答案:

答案 0 :(得分:0)

一种方法是:

  • 在客户端上初始化非托管集合
  • 使用Meteor.methods根据需要填充

但是,这限制了可用于安全查询的选择器,并要求您手动插入通过方法检索的所有数据。此方法还限制了非托管集合的反应功能。