如何在Meteor中更改配置文件名称?

Car*_*ona 10 user-interface meteor

我想知道如何在Meteor中更改用户个人资料信息.我使用基于帐户的包创建了一个应用程序,因此我可以使用用户帐户快速管理所有相关内容.这真的很棒.

官方文档中说:

profile:一个Object(默认情况下),用户可以使用任何数据创建和更新.

但是我怎么能让用户改变它呢?

关于同一主题,{{loginButtons}}默认情况下使用标签我在用户登录时会看到以下图像:

在此输入图像描述

是否有可能增加Change profile,Change email或类似的东西?

谢谢

Aks*_*hat 29

目前accounts-ui还没有内置的更改配置文件按钮,您必须手动完成.

例如,如果你这样做

Meteor.users.update({_id:Meteor.user()._id}, {$set:{"profile.name":"Carlos"}})
Run Code Online (Sandbox Code Playgroud)

您可以更改accounts-ui上面的屏幕,您必须显示一个名称,而不是您要单击以显示上面对话框的电子邮件.

电子邮件有点小问题,你必须从服务器执行此操作,因为(在meteor.methods/call中)你无法修改客户端的电子邮件,我建议添加一封新电子邮件并进行验证而不是更改现有的电子邮件(因为它也是他们的登录).或者进行验证然后进行更改,以免将某人的电子邮件更改为无法恢复密码的内容.

Meteor.users.update({_id:Meteor.user()._id}, {$addToSet:{"emails":{address:"newemail@newemail.com","verified":false}}});
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望用户有一封电子邮件,他们可以更改:

Meteor.users.update({_id:Meteor.user()._id}, {$set:{"emails":[{address:"newemail@newemail.com"}]});
Run Code Online (Sandbox Code Playgroud)

  • 你在第一行代码中忘记了Mongodb选择器中的引号(在`profile.name`周围),这应该是:`Meteor.users.update({_ id:Meteor.user()._ id},{$ set: { "profile.name": "卡洛斯"}})` (2认同)