使用mongoose更新jsons数组中的特定json

时间:2016-06-11 21:29:08

标签: mongoose

我想更新jsons数组数组中的特定json。 这是我的文件:

 [
   {"email": "admin@gmail.com",
    "password": "regherhrhrt",
    "name": "yosi levi",
    "partner": "nirit levi"
    "invites" [{
    "id" : 4,
    "status" : "Waiting"
    },
    "id" : 5,
    "status" : "Waiting"
    }]
   },
   { "email": "admin1@gmail.com",
    "password": "1234",
    "name": "yosi joha",
    "partner": "nirit joha"
    "invites" [{
    "id" : 6,
    "status" : "Waiting"
    },
    {
    "id" : 7,
    "status" : "Waiting"
    }]
   }
]

我发送了以下json:

{
 "inviteEmail" : "admin@gmail.com",
 "id" : 4,
 "status" : "Accepted"
}

我需要一个使用mongoose更新mlab的代码。

1 个答案:

答案 0 :(得分:0)

此查询应该有效:

var documentToUpdate = {
 "inviteEmail" : "admin@gmail.com",
 "id" : 4,
 "status" : "Accepted"
};

db.collection.update({"invites.status": documentToUpdate.id}, {$set : {"invites.$": documentToUpdate}}, function (error, res) {
    //Handle result
})