我想通过以下方式更新流星中的电子邮件地址:
Meteor.users.update(this._id, {$set: {"emails[0].address": "deleted_" + preEmail }});
但不是更新电子邮件数组,0参数,然后是地址,而是创建一个新的字段,如电子邮件[0]然后地址。 有趣的是,在另一个.js文件中它可以正常工作!
答案 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)
您可以先设置阵列,然后像这样更新电子邮件
var newEmail = [{address:email, verified: false}]
Meteor.users.update({_id:this._id}, {$set: {emails:newEmail }});
&#13;
答案 3 :(得分:-2)
我认为问题在于您的过滤器是错误的。
Meteor.users.update({_id:this._id}, {$set: {"emails[0].address": "deleted_" + preEmail }});