我想知道如何在Meteor中更改用户个人资料信息。我使用基于帐户的包创建了一个应用程序,因此我可以使用用户帐户快速管理所有相关内容。这真的很棒。
在官方文件中它说:
profile:一个(默认情况下)用户可以使用任何数据创建和更新的对象。
但我怎么能让用户改变呢?
关于同一主题,默认情况下使用{{loginButtons}}
标记,当用户登录时,我会得到以下图像:
是否有可能添加Change profile
,Change email
或类似内容?
由于
答案 0 :(得分:29)
目前accounts-ui
没有内置更改配置文件按钮,您必须手动设置。
例如,如果你这样做
Meteor.users.update({_id:Meteor.user()._id}, {$set:{"profile.name":"Carlos"}})
您可以更改accounts-ui
上方的屏幕,您必须显示名称,而不是您要点击以显示上述对话框的电子邮件。
电子邮件有点小问题,你必须从服务器这样做(因为在meteor.methods / call中)你不能修改客户端的电子邮件,我建议添加一个新的电子邮件和验证而不是更改现有的电子邮件(因为它也是他们的登录)。或者先将验证然后进行更改,以免将某些人的电子邮件更改为无法恢复密码的内容。
Meteor.users.update({_id:Meteor.user()._id}, {$addToSet:{"emails":{address:"newemail@newemail.com","verified":false}}});
或者,如果您希望用户拥有一封可以更改的电子邮件:
Meteor.users.update({_id:Meteor.user()._id}, {$set:{"emails":[{address:"newemail@newemail.com"}]});