流星出版物和订阅

时间:2014-06-03 15:18:16

标签: javascript mongodb meteor

我正在尝试学习Meteor,目前正试图围绕出版物和订阅。我正在关注发现流星书,其中一个要点对我来说没有意义,并希望能够分享一些简单的解释。

因此,出版物是"取出"来自mongo数据库的数据存储在Meteor中:

Meteor.publish('posts', function() {
   return Posts.find(); 
});

然后在客户端我订阅了该出版物。 Woopy

Meteor.subscribe('posts');

模板助手没有什么意义。最初Discover Meteor告诉您创建一个静态帖子数组,使用模板助手迭代每个帖子。好吧,现在我动态地转动了我的模板助手:

Template.postsList.helpers({
    posts: function () {
        return Posts.find();
    }
});

在服务器和客户端模板助手上运行Posts.find()的重点是什么?

2 个答案:

答案 0 :(得分:2)

发布中的帖子是服务器端集合。帮助者中的帖子是客户端集合,其中包含所有已发布的帖子。如果您有数千个帖子,通常不想发布所有帖子,因为下载数据需要几秒钟。

您应该只发布您需要的数据。

Meteor.publish('posts', function(limit) {
   return Posts.find({}, { limit: limit}); 
});

当您调用此订阅功能时,客户端集合帖子将只包含100个帖子。

var limit = 100;
Meteor.subscribe('posts', limit);

答案 1 :(得分:0)

在出版物中,您可以准确设置要在客户端的帖子集合中存储哪些帖子。

在您的发布方法中,您只能返回包含字母“A'”的帖子。

典型的用例是选择属于用户或一组用户的对象。