【问题标题】:Are non-reactive Meteor db subscriptions possible?非反应式 Meteor db 订阅是否可能?
【发布时间】:2014-02-18 14:11:57
【问题描述】:

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

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

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

// 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()。这可以防止更改使计算无效。我相信它不会阻止数据库中的更改与 minimongo 集合同步。这是正确的吗?

【问题讨论】:

标签: javascript meteor


【解决方案1】:

一种方法是:

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

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

【讨论】:

  • 这是一种解决方法,但不是解决方案。我怀疑非反应式订阅是不可能的。谁能确认一下?
猜你喜欢
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-26
  • 2022-01-18
  • 2013-02-22
相关资源
最近更新 更多