附加到多维子文档

时间:2014-12-08 13:10:16

标签: mongodb subdocument

我想添加一个新的字段,例如"电子邮件"对于组中的每个子文档

{ "_id" : 10, 
  "groups" : [ 
        { 

                "members" : ["Mark"], 
                "name" : "My Friends" 
        },
        { 

                "name" : "Colleagues" 
        }, 
        { 

                "name" : "Buddies" 
        },..... 
],.. } 

请建议我。提前谢谢。

我正在尝试但它不起作用 db.users.update({},{$ push:{" groups。$。email":' abc'}},true,true);

1 个答案:

答案 0 :(得分:0)

要完成此操作,您需要使用$elemMatch运算符。具体来说,你想要:

db.users.update({_id:10,groups:{$elemMatch:{name:"My Friends"}}},{$push: {"groups.$.email":"abc"}},false,true);

重要的是,$ elemMatch会将数组指针设置为匹配的确切元素,因此您可以在此处推送。