繁体   English   中英

尝试更新mongodb中的对象数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM