2017-03-17 64 views
2

我想在流星更新电子邮件地址:更新用户的电子邮件地址

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

但不是更新电子邮件阵,0参数,那么地址,它创建一个类似电子邮件的新领域[0],地址。 有趣的是,在另一个.js文件中它正常工作!

回答

1

你几乎在那里。在您的代码中更改“emails[0].address”与emails.0.address。我的代码在Angular 2流星中工作。我希望它也适用于你:)

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

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

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

你可以设置数组,然后再更新电子邮件这样

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

2

帐目软件包中有改变的电子邮件地址预建功能。

import { Accounts } from 'meteor/accounts-base' 

//get old email 
const oldEmail = Meteor.users.findOne(this.userId).emails[0].address; 

//add new email 
Accounts.addEmail(this.userId, args.email); 

//remove old email 
Accounts.removeEmail(this.userId, oldEmail); 
相关问题