在Meteor.publish
's 的回调函数中,我们返回游标。那么这是否意味着当我们在客户端上进行订阅时,只有最少量的数据会传输到客户端?
只有当我们在客户端上执行某些操作cursor.fetch
或cursor.forEach
收集数据实际上被推送到客户端时?
谢谢!
在Meteor.publish
's 的回调函数中,我们返回游标。那么这是否意味着当我们在客户端上进行订阅时,只有最少量的数据会传输到客户端?
只有当我们在客户端上执行某些操作cursor.fetch
或cursor.forEach
收集数据实际上被推送到客户端时?
谢谢!
您定义的所有内容都Meteor.publish
将发送给客户端:
例如,如果你有
Meteor.publish("rooms", function() {
return Rooms.find();
});
查询的整个结果Rooms.find()
被发送到客户端。唯一从游标中.fetch()
获取所有数据,这有助于停止循环遍历所有不必要的数据(在内存中)。游标的 fetch/forEach 不会影响从服务器获得的订阅和数据。
要控制归结为客户端的内容,您需要明确告诉订阅/发布要发布给客户端的内容。如何做到这一点的一个很好的例子是订阅下的流星文档中的聊天和房间示例