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

如果我有订阅

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

那么我只能订阅与该项目相关的项目。

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

在这种情况下最好的做法是什么? 我没有看到需要再次过滤数据。

这取决于您是否已经将Items集合中的任何其他文档发送给客户端。 如果你已经使用subspipe理器来caching项目集合中的过去的子项目,或者正在使用Items集合的另一个订阅,那么你希望在你的客户端查找模板帮助器中更具体。 但是,如果您确定此时将在客户端上的项目集合的唯一文档是具有正确的projectId的文档,那么只需使用不带select器的查找即可。