我知道这个问题已被多次询问,但我很难发布这些信息。
在Accounts.onCreateUser中,我添加了一个类似的字段
{
...
user['info'] = { email: options.email, is_admin: false};
}
我发布此信息;
Meteor.publish('user', function() {
return Meteor.users.find({}, { fields: { info: 1} });
}
和
Meteor.subscribe('user');
调试后,Publish查询会返回正确的信息,但在我尝试访问Meteor.user()时,从未向客户端提供该信息。我是否必须做其他事情以允许Meteor.user()访问信息?
有什么建议吗?
答案 0 :(得分:20)
您需要使用null来发布给单个用户。
Meteor.publish(null, function() {
return Meteor.users.find({_id: this.userId}, {fields: {info: 1}});
});