我有一个格式如下的 mongo 文档:
Group: {
participants: [
userId,
userId,
userId
]
}
...其中 userIds 显然是 Meteor 自己的用户文档 ObjectIds。
我真正遇到的问题是我希望用户查看他们组中的其他用户信息。在这个实现中,我正在想象一个安全的(阅读:我删除了自动发布和不安全的)组消息系统。
我当前的发布实现如下所示:
//grab all groups user belongs to
Meteor.publish("groups", function() {
var groups = Groups.find({
participants: {
$in: [ this.userId ]
}
});
return groups;
});
现在,理想情况下,我希望groups
在完成发布之前实现一些代码来操作,以便同时发布每个参与者的user.profile
数据。想象的最终格式如下:
Group: {
participants: {
userId
},
users: {
{ //One of these for each user
userId,
firstName,
lastName,
otherData
}
}
}
我注意到的一件事是,如果没有自动发布和不安全,我不能只通过辅助函数在客户端上执行此操作。