【发布时间】:2015-11-16 02:58:12
【问题描述】:
我正在使用 meteor.js 编写一个大型模块化应用程序。在我的应用程序中,我有一个名为“课程”的集合。课程集合内对象的 Schema 如下所示:
_id: MongoId
title: String
intro: String
content: Object
settings: Object
secret: Object
nonSecrets: Object
members: [Object]
userId: MongoId
wantsMail: Boolean
gotMemberAt: Date
我有几个出版物:
# Publish an overview of all courses, I am Member at
Meteor.publish 'myCourses', ->
return Courses.find(
{members:{$elemMatch:{userId: @userId}}},
{fields:{title:1, intro:1, 'settings.nonsecret':1, 'members.$':1}}
)
# Single Course Detail
Meteor.publish 'singleCourse', (id) ->
return Courses.find(
id,
{fields: {title:1, intro:1, content:1, 'settings.nonSecret':1}}
)
# Admin Information of course
Meteor.publish 'singleCourseAdamin', (id) ->
return Courses.find(
id,
{fields: {title:1, settings:1, members:1}}
)
我现在的问题是,当我订阅所有三个出版物时,除了myCourses 出版物的成员之外,我没有其他成员。
是否有任何关于在实际流星版本中发布和订阅同一文档的子集如何工作以及如果我想让它工作需要检查什么的好文本?
或者是否有一个包可以更容易地限制每个用户对字段的访问?
【问题讨论】:
标签: meteor coffeescript meteor-publications