我正在尝试在创建时向用户添加字段,分数。
我将此代码放在服务器钩子中:
Accounts.onCreateUser(function(options, user) {
user.score = 1;
return user;
});
但是当我在控制台中尝试Meteor.user()时,我看不到分数对象。
答案 0 :(得分:0)
您正在按照正确的方法插入额外的密钥,使用onCreateUser
是正确的。
但是,默认情况下,Meteor不会发布用户对象中的所有键。在客户端,您只会看到_id
,emails
和profile
。如果您想在客户端上看到score
,您可以将其填入配置文件而不是用户文档的根目录(最简单):
user.profile.score = 1; // in onCreateUser
或在服务器上的用户出版物中包含分数键:
Meteor.publish('me',function(){
return Meteor.find({ _id: this._id },{ fields: { profile: 1, emails: 1, score: 1 }});
});
在客户端订阅:
Meteor.subscribe('me');