【问题标题】:Update the email address in the meteor user profile更新流星用户配置文件中的电子邮件地址
【发布时间】:2018-02-23 19:00:50
【问题描述】:

我使用简单的架构和集合创建了一个用户配置文件2。如果更新了姓名或电子邮件地址,我想更新流星用户配置文件。当我尝试在流星用户配置文件中设置电子邮件地址时,它不会更新。这是违规行:

Meteor.users.update(Meteor.userId(), {$set: {emails[0].address: pDetails.contactDetails.email}});

谁能告诉我如何更新流星用户资料?

谢谢。

【问题讨论】:

    标签: meteor


    【解决方案1】:

    您需要根据选择器中先前的电子邮件地址值来选择数组元素。

    Meteor.users.update({ _id: Meteor.userId(), 'emails.address': oldAddress },
     { $set: { 'emails.0.address': newAddress }});
    

    如果未验证新电子邮件地址,您可能必须同时将 verified 字段设置为 false。然后发送邮箱验证邮件。

    【讨论】:

    • 这不起作用"Unsupported projection option: $set: { emails.address: \"newemail@muydomain.com\" }"
    • 应该是 emails.0.address
    • 谢谢你,很老的答案!
    【解决方案2】:

    这也有效:

    Meteor.users.update(Meteor.userId(), {$set: {'emails.0.address': pDetails.contactDetails.email, 'profile.name': pDetails.contactDetails.firstName}});
    

    【讨论】:

    • 是的,这会起作用,但前提是数组中只有一个电子邮件地址。
    • 是的,目前仅此而已。无论如何现在都可以,谢谢您的帮助
    猜你喜欢
    • 2015-06-19
    • 2015-12-03
    • 2023-02-23
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多