更新meteor中的用户电子邮件地址

时间:2017-03-17 10:18:06

标签: meteor angular2-meteor

我想通过以下方式更新流星中的电子邮件地址:

Meteor.users.update(this._id, {$set: {"emails[0].address": "deleted_" + preEmail }});

但不是更新电子邮件数组,0参数,然后是地址,而是创建一个新的字段,如电子邮件[0]然后地址。 有趣的是,在另一个.js文件中它可以正常工作!

4 个答案:

答案 0 :(得分:4)

Accounts包附带预先构建的用于更改电子邮件地址的功能。

<django.db.models.query_utils.DeferredAttribute object at 0x0424AA70>

答案 1 :(得分:3)

你快到了。在您的代码中,使用emails[0].address更改“emails.0.address”。我的代码在Angular 2 meteor中工作。我希望它对你也有用:)

 Meteor.users.update({
        _id: id
     }, 
     {
        $set: {
            'emails.0.address': address,
            "username": username
        }
    });

答案 2 :(得分:0)

您可以先设置阵列,然后像这样更新电子邮件

&#13;
&#13;
var newEmail = [{address:email, verified: false}]
Meteor.users.update({_id:this._id}, {$set: {emails:newEmail }});
&#13;
&#13;
&#13;

答案 3 :(得分:-2)

我认为问题在于您的过滤器是错误的。

Meteor.users.update({_id:this._id}, {$set: {"emails[0].address": "deleted_" + preEmail }});