0
在Meteor.publish
的回調函數中,我們返回遊標。那麼這是否意味着當我們在客戶端上進行訂閱時,只有最少量的數據被傳送到客戶端?Meteor.subscribe後,客戶端上加載了多少數據?
只有當我們在cursor.fetch
或cursor.forEach
這樣的客戶端上執行某些操作時,集合數據纔會真正被推送到客戶端上?
謝謝!那是在你的Meteor.publish
定義
在Meteor.publish
的回調函數中,我們返回遊標。那麼這是否意味着當我們在客戶端上進行訂閱時,只有最少量的數據被傳送到客戶端?Meteor.subscribe後,客戶端上加載了多少數據?
只有當我們在cursor.fetch
或cursor.forEach
這樣的客戶端上執行某些操作時,集合數據纔會真正被推送到客戶端上?
謝謝!那是在你的Meteor.publish
定義
一切都將被髮送到客戶端:
e.g如果你有
Meteor.publish("rooms", function() {
return Rooms.find();
});
查詢Rooms.find()
的全部結果發送到客戶端。 .fetch()
只從光標中提取所有數據,這有助於停止循環所有不必要的數據(在內存中)。遊標的fetch/forEach不會影響從服務器獲取的訂閱和數據。
要控制客戶端的內容,您需要明確告知訂閱/發佈要發佈到客戶端的內容。一個很好的例子是Chat &流星文檔中的房間示例subscribe
爲了弄清楚,在客戶端進行訂閱之後,整個'Rooms'集合被加載到客戶端的minimongo ? – Dave