过滤已通过Meteor中的订阅过滤的数据

时间:2015-08-25 12:22:55

标签: javascript node.js meteor publish-subscribe

如果我有订阅

Meteor.publish('itemsByProjectId', function (projectId) {
  check(projectId, String);
  return Items.find({ projectId: projectId});
});

然后我只订阅与项目相关的项目。

在输出模板中的项目时是否还必须使用Items.find({ projectId: projectId }),或者使用Items.find()是否已足够,因为已经通过订阅过滤了集合。

在这种情况下,最佳做法是什么?我认为不需要再次过滤数据。

1 个答案:

答案 0 :(得分:1)

这取决于您是否已将Items集合中的任何其他文档发送到客户端。如果您已经使用子管理器将过去的子项缓存到items集合或者正在使用Items集合的另一个订阅,那么您希望在模板助手中的客户端查找中更具体。但是,如果您确定此时将在客户端上的项集合的唯一文档是具有正确projectId的文档,那么只使用不带选择器的查找就可以了。