2017-03-17 63 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); 
相關問題