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