我修改排行榜爲例,使用兩個集合:如何管理哪些數據與Meteor客戶端的緩存同步?
Players = new Meteor.Collection("players");
Tasks = new Meteor.Collection("tasks");
的玩家集合在該示例中定義的6個文檔。
> db.players.count()
6
任務集合包含48,000個文檔。
> db.tasks.count()
48000
一旦我打開瀏覽器,節點跳轉到100%的CPU並且客戶端看不到任何任務記錄。
Players.find().count()
6
Tasks.find().count()
0
我試過定義查詢條件,但只適用於服務器,並沒有幫助客戶端。
Players.find({name:"Claude Shannon"}).count();
1
Tasks.find({tid:"t36254"}).count();
0
我猜48000個文檔太多了,無法同步。這導致Node與100%的CPU掛鉤,客戶端拋出這樣的錯誤:http://i.imgur.com/zPcHO.png。
如何防止同步所有內容並僅檢索集合中的特定文檔?
部分似乎是禁用自動發佈功能。 Autopublish使得一些簡單的例子可以用一些文檔「簡單地工作」,但是它對於更多的數據並不適用。在項目目錄中,使用'meteor remove autopublish'。然後編寫您自己的發佈和訂閱功能。 – 2012-04-27 07:27:49