订阅请求发布后是否有任何方式发布,然后停止推送对集合所做的更改,直到客户端再次订阅?
我有这种情况:
服务器:
Meteor.publish("posts", function () {
return Messages.find(); //Do not push changes to this collection!
});
客户端:
Meteor.subscribe("posts");
答案 0 :(得分:3)
如果你只需要向客户端发送一次性数据,使用方法可能有效:
//Server
Meteor.methods({
getSomePosts : function(limit)
{
check(limit, Number);
return Posts.find({}, {limit : limit}).fetch();
}
});
//Client
Meteor.call('getAllPosts', function(err, result) {
//Do stuff with the result
});
请注意,这对您的数据库来说很重要,您可能希望使用变量并定期更新它,而不是每次客户端调用该方法时都获取整个集合。