[英]Attempt to update array of object in mongodb
这是我正在尝试的:
contactModel.update({
'user_id': req.params.user_id,
'contacts.contact_id': req.params.id
}, {
$set: {
'contacts.$.name': req.body.contact.name,
'contacts.$.phone_number': req.body.contact.phone_number
}
})
但是该代码仅用于更新特定密钥。 我想基于动态密钥进行更新。 如果名称出现在req.body中,则它应该仅更新名称都即将出现的名称,因此应同时更新两者。
用req.body中找到的键动态填充更新对象
var obj = {};
for(var i in req.body.contact){
obj["contacts.$."+i] = req.body.contact[i];
}
contactModel.update({
'user_id': req.params.user_id,
'contacts.contact_id': req.params.id
}, {
$set: obj
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.