0

我希望有人能澄清有关 Meteor.js 订阅的这一点:

如文档中所写, find() 函数返回需要获取的游标,而不是数据;假设我有一个发布功能:

Meteor.publish('pages', function() {
    return Pages.find()
});

现在假设我只需要带有代码的页面:“one”;在模板助手中,我可以获取该文档:

Template.mytemplate.helpers({
    data: function() {
        return Pages.find({code: "one"});
    }
});

问题是:这样做是否正确,或者如果我只需要一份文件,最好只订阅该文件?(就像是:

Meteor.publish('page', function(code) {
    return Pages.find({code: code})
});

)

我的意思是:它在效率/性能方面是否有所改变?

4

1 回答 1

3

是的,它确实改变了很多。如果您订阅了整个集合,那么整个集合将被发送到客户端并与服务器保持同步。所以无论如何,如果您只需要一个文档,并且不需要缓存任何其他文档(例如,切换到新文档),那么只订阅您需要的一个。

于 2015-11-24T23:47:01.170 回答