Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 非反应性Meteor db订阅是否可能?_Javascript_Meteor - Fatal编程技术网

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

Javascript 非反应性Meteor db订阅是否可能?,javascript,meteor,Javascript,Meteor,我已发布服务器端集合中的文档。然而,我不需要客户端的反应 出于性能原因,我只想像在传统web应用程序中一样从客户端手动查询db 一个选项是订阅,然后停止订阅 // something like this: var People = new Meteor.Collection('people'); var handle = Meteor.subscribe('people'); // assume people is published on server var results = People

我已发布服务器端集合中的文档。然而,我不需要客户端的反应

出于性能原因,我只想像在传统web应用程序中一样从客户端手动查询db

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

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

一种方法是:

在客户端上初始化非托管集合 根据需要使用Meteor.methods来填充它
但是,这限制了可用于安全查询的选择器,并要求您手动插入通过方法检索的所有数据。这种方法还限制了非托管集合的反应式功能

这是一个解决办法,但不是一个解决方案。我怀疑非反应性订阅是不可能的。有人能证实吗?你能描述一下你的目标吗?您试图对人员集合做什么?您发现了哪些性能问题?