我正在尝试更新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命令,其中updateInfo包含将要更新的所有信息
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});
});