如果我有订阅
Meteor.publish('itemsByProjectId', function (projectId) {
check(projectId, String);
return Items.find({ projectId: projectId});
});
然后我只订阅与项目相关的项目。
在输出模板中的项目时是否还必须使用Items.find({ projectId: projectId })
,或者使用Items.find()
是否已足够,因为已经通过订阅过滤了集合。
在这种情况下,最佳做法是什么?我认为不需要再次过滤数据。
答案 0 :(得分:1)
这取决于您是否已将Items集合中的任何其他文档发送到客户端。如果您已经使用子管理器将过去的子项缓存到items集合或者正在使用Items集合的另一个订阅,那么您希望在模板助手中的客户端查找中更具体。但是,如果您确定此时将在客户端上的项集合的唯一文档是具有正确projectId的文档,那么只使用不带选择器的查找就可以了。