努力弄清楚如何访问特定字段以进行更新

时间:2018-07-27 12:22:20

标签: json meteor

我有这个JSON文件

{
    "_id": "GgCRguT8Ky8e4zxqF",
    "services": {
    "emails": [
        {
            "address": "Abunae@naa.com",
            "verified": false,
            "verifiedMail": "Toto@hotmail.com"
        }
    ],
    "profile": {
        "name": "Janis"
    },
    "pushIds": []
}

我想更新我的authenticatedMail字段,但不知道如何在Meteor中进行操作,它总是向我返回错误

  let VerifiedEmail = "Exemple1"
   await Meteor.users.update({ _id: user._id }, { $set: { 'emails.verifiedEmail': emailRefactor} }, { upsert: true })

无法确定如何访问emails.verifiedEmail字段

试过这个exemlpe就像一个魅力

let VerifiedEmail = "Exemple1"
   await Meteor.users.update({ _id: user._id }, { $set: { 'profile.name': emailRefactor} }, { upsert: true })

但无法弄清楚如何访问emails.verifiedEmail。

能帮我吗?

3 个答案:

答案 0 :(得分:0)

电子邮件是一个数组,而配置文件是一个对象。您必须改为访问电子邮件数组的第一个对象

答案 1 :(得分:0)

这将从电子邮件中更新确切的电子邮件地址

Meteor.users.update({
            "emails.address": emailRefactor
        }, {
            $set: {
                "emails.$.verified": true
            }
        });

或更新第一个元素

Meteor.users.update({
                 _id: user._id,
                "emails.address": emailRefactor
            }, {
                $set: {
                    "emails.0.verified": true
                }
            });

答案 2 :(得分:0)

您正在尝试设置 verifiedEmail ,而实际字段是 verifiedMail