在Meteor中加载具有许多订阅的小块数据
Loading small pieces of data with many subscriptions in Meteor
我有一个关于Collections的问题,特别是,我希望在服务器上有一个大的集合,并以不可预测的顺序一次只加载其中的一小部分,这样我可能就不想在任何时候拥有任何给定片段的本地副本了。我是否应该为每条数据进行新的订阅,然后在不再需要该数据时停止订阅?或者我应该使用其他方法吗?或者我应该把我不会使用的大块放在本地的收藏中?
编辑:或者我应该有一个订阅,其中包含我想要的每一条数据的ID列表,并让发布功能专门查找其中的每一个?看起来很复杂,但它确实让我只需要处理一个订阅。
编辑:或者我应该跳过使用发布和订阅,只使用方法将数据传递给客户端?失去了很多功能,需要一些额外的工作,但它确实避免了大多数问题,对我来说应该可以正常工作。
假设Mongo collection="items"{名称:'tem1',类型:"基本",数量:40}
使用在Meteor服务器上定义集合
Items= new Mongo.Collection('items')
1.这些集合包含MongoDB集合中的所有数据,您可以在它们上运行Items.fund({…}),它将返回一个游标(一组记录,带有迭代并返回它们的方法)。
Meteor.publish('itemOver30', function itemPublication() {
return(Items.find({qty:{gte:10},{name:1,qty:1}));
});
这将把光标返回到项目集合中项目数量超过30的所有记录(总记录的子集,而不是整个集合)。
2.游标用于发布(发送)一组记录(称为"记录集")。您可以选择只发布这些记录中的某些字段。客户端订阅的是记录集(而不是集合)。
Meteor.subscribe('itemOver30');
- 在客户端上,您有Minimongo集合,它们部分镜像了服务器上的一些记录。"部分"是因为它们可能只包含一些字段,而"一些记录"是因为您通常只想向客户端发送它需要的记录,以加快页面加载,并且只发送它需要并有权访问的记录
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 如何将输入数据(许多数据)添加到同一页面的下表中
- 渲染在Ember.js中有许多数据
- Knockout:为许多数据对象绑定模板引导模式
- 在包含许多元素的页面中首选 id 属性或数据属性
- 将PHP中的许多数据从数据库Json_encode到Jquery AJAX
- 如何在不下载和上传数据的情况下复制具有许多记录的 Firebase 子项
- Nodejs在使用Loop下载许多文件时丢失了数据
- 从一个页面发布许多AJAX请求——如何发送所有必要的数据
- 使用实时数据对GeoJSON文件中的许多标记进行样式化
- 使用具有许多嵌套层的数据建立模板
- 在ExtJS中加载许多数据
- 使用单独的JavaScript对象让数据在许多其他JS对象之间共享是不是更好?
- Ember数据有许多关系空结果
- 在Meteor中加载具有许多订阅的小块数据