MongoDB - 更新嵌套数组中对象的多个字段

时间:2017-08-01 01:07:27

标签: arrays node.js mongodb

我正在尝试更新incomes数组中的月份和年份字段,但我使用的命令是将数组中的对象替换为更新的对象值。 请注意,更新的对象具有比原始对象更少的键/值。

{
"_id" : 12j3k123132,
"username" : "Alex",
"password" : "12345",
"email" : "a@ass",
"incomes" : [
    {
        "incomeId" : aisjdoaijfa,
        "month" : 10,
        "year" : 2017,
        "value" : 100.57,
        "description" : "car wash"
    }
],
"expenses" : [ ]

}

我正在运行follow命令,其中up​​dateInfo包含将要更新的所有信息

incomeSearch.update({ _id: 12j3k123132), "incomes.incomeId": incomeId.incomeId }, {$set: {"incomes.$": updateInfo}}, (err, updateResult) => {

    if (err){
        res.status(500).send({error: `An error occurred. ${err}`});
    }
    res.status(200).send({msg: `Income updated`, result: updateResult});

});

0 个答案:

没有答案