发布自定义Meteor.user()字段

put*_*utt 8 meteor

我知道这个问题已被多次询问,但我很难公布这些信息.

在Accounts.onCreateUser中,我添加了一个这样的字段

{
 ...
 user['info'] = { email: options.email, is_admin: false};
}
Run Code Online (Sandbox Code Playgroud)

我发布这个信息;

Meteor.publish('user', function() {
    return Meteor.users.find({}, { fields: { info: 1} });
}
Run Code Online (Sandbox Code Playgroud)

Meteor.subscribe('user');
Run Code Online (Sandbox Code Playgroud)

调试后,Publish查询返回正确的信息,但是当我尝试访问Meteor.user()时,从未将该信息提供给客户端.我是否必须做其他事情以允许Meteor.user()访问信息?

有什么建议?

Pen*_*ent 20

您将要使用null来发布给单个用户.

Meteor.publish(null, function() {
  return Meteor.users.find({_id: this.userId}, {fields: {info: 1}});
});
Run Code Online (Sandbox Code Playgroud)

  • 请原谅我的meteor newbyness,但你可以解释或提供使用null作为发布名称的任何doc或教程参考吗?是否需要订阅或者现在的值是否会在当前用户对象中自动显示?谢谢! (2认同)