【发布时间】:2014-06-06 11:27:42
【问题描述】:
我有一个项目集合和一个任务集合。
每个项目都有一个 user_id 字段,其中包含项目的所有者。
每个任务都有一个 project_id 字段。所以结构是这样的:
- 用户 1
- 项目一
- 任务 1
- 任务 2
- 项目 2
- 任务 3
- 用户 2
- 项目 3
- 任务 4
- 任务 5
出于安全考虑,我只想发布属于某个登录用户的项目。对于项目本身来说,这很容易:
Meteor.publish('projects', function(){
return Projects.find({user_id: this.userId});
});
但是我如何以干净的方式为任务集合做到这一点?为什么 Collection.Allow 没有“查看”选项?
类似:
Tasks.allow({
view: function (userId, doc) {
return Projects.findOne(doc.project_id).user_id == userId;
}
});
会很好,它不存在有什么原因吗?
【问题讨论】:
标签: meteor