我想在流星更新电子邮件地址:更新用户的电子邮件地址
Meteor.users.update(this._id, {$set: {"emails[0].address": "deleted_" + preEmail }});
但不是更新电子邮件阵,0参数,那么地址,它创建一个类似电子邮件的新领域[0],地址。 有趣的是,在另一个.js文件中它正常工作!
我想在流星更新电子邮件地址:更新用户的电子邮件地址
Meteor.users.update(this._id, {$set: {"emails[0].address": "deleted_" + preEmail }});
但不是更新电子邮件阵,0参数,那么地址,它创建一个类似电子邮件的新领域[0],地址。 有趣的是,在另一个.js文件中它正常工作!
你几乎在那里。在您的代码中更改“emails[0].address
”与emails.0.address
。我的代码在Angular 2流星中工作。我希望它也适用于你:)
Meteor.users.update({
_id: id
},
{
$set: {
'emails.0.address': address,
"username": username
}
});
我认为问题在于你的过滤器是错误的。
Meteor.users.update({_id:this._id}, {$set: {"emails[0].address": "deleted_" + preEmail }});
你可以设置数组,然后再更新电子邮件这样
var newEmail = [{address:email, verified: false}]
Meteor.users.update({_id:this._id}, {$set: {emails:newEmail }});
帐目软件包中有改变的电子邮件地址预建功能。
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);