0
我试图在创建时向用户添加一个字段,分数。在创建新用户时向用户文档添加字段(流星)
我把这个代码在服务器挂钩:
Accounts.onCreateUser(function(options, user) {
user.score = 1;
return user;
});
但是当我尝试Meteor.user()在控制台中,我没有看到比分的对象。
我试图在创建时向用户添加一个字段,分数。在创建新用户时向用户文档添加字段(流星)
我把这个代码在服务器挂钩:
Accounts.onCreateUser(function(options, user) {
user.score = 1;
return user;
});
但是当我尝试Meteor.user()在控制台中,我没有看到比分的对象。
你按照正确的方法插入额外的密钥,使用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');
是否使用了'useraccounts:core'包? – challett
我正在使用accounts-password和accounts-ui – gustavla
我有一个解决方案,如果您打算使用架构包作为使用onCreateUser挂钩的替代方案,我可以发布解决方案。我以前在使用这个钩子时遇到了问题 – challett