meteor实例—6—连接集合: 简单的发布与订阅

连接集合: 简单的发布与订阅
到此为止,我们仍然用着autopublish 这个包,这个包并不是为正式产品化的应用程序准备的。正如它的名字陈述的那样,它简单地把整个集合分享给所有连接的客户端。这个可不是我们期望的样子,所以让我们去掉它。
打开一个终端窗口,输入:
meteor remove autopublish
这个操作有了立即的反应。当你打开浏览器,你会发现所有的帖子都不见了!这是因为我们一直依赖于autopublish 来让我们的客户端可以镜像般地得到数据库中的所有帖子。
最终我们需要做得到我们仅仅把我们客户端需要看到的帖子传输过来(需要考虑分页的情况)。不过暂时我们可以先设置把Posts 所有帖子都发布出来。

为达到这个目的,我们建立一个简单的Publish() 函数,它仅仅返回一个反映所有帖子的游标。

在server下建立publications.js文件,内容如下:

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

在客户端我们需要订阅这个发布。我们仅仅需要增加这样一行到main.js 文件中:

Meteor.subscribe('posts');

如果你现在看一眼浏览器,发现帖子都回来了。哇!好险啊!

原文地址:https://www.cnblogs.com/wonderhow2/p/6345064.html