2
我正在Meteor建立一個依賴數據庫實時更新的應用程序。 Meteor展示這些示例的方式是在模板調用下進行數據庫調用。我發現在處理中等大小的數據集時,這變得不切實際。我試圖將請求移到服務器,並將結果傳回客戶端。流星客戶端同步服務器數據庫調用
我已經看過similarquestions SA,但沒有找到即時答案。
這裏是我的服務器端功能:
Meteor.methods({
"getTest" : function() {
var res = Data.find({}, { sort : { time : -1 }, limit : 10 });
var r = res.fetch();
return (r);
}
});
和客戶端:上面的代碼
Template.matches._matches = function() {
var res= {};
Meteor.call("getTest", function (error, result) {
res = result;
});
return res;
}
我曾嘗試變化 - 在回調函數返回的一個例子。據我所知,有一個回調使該函數異步,所以它不能被稱爲onload(同步),並必須從客戶端調用。
我想通過所有數據庫查詢服務器端來減輕前端負載。這在Meteor中可能嗎?
感謝
我已經將數據拆分爲集合,不會這樣做:console.log(「當前房間有」+ Counts.findOne()。count +「messages。」);仍然把負載放在客戶端?據我所知,這和我目前正在做的事情是一樣的,我想逃避。 – kyleredon 2013-02-20 11:20:46
它確實會調用本地數據庫,但Counts集合只包含一行,所以它非常快。當所有數據都在客戶端時,使用客戶端集合纔會很慢。用'Meteor.publish'限制客戶端的數據是否可以解決這個問題。 – 2013-02-20 11:27:29
我明白了。所以我會嘗試通過爲每個希望運行的查詢(每個頁面)提供一個集合來解決這個問題。聽起來像它會工作得很好,但。謝謝! – kyleredon 2013-02-20 11:46:50