我想添加一个新的字段,例如"电子邮件"对于组中的每个子文档
{ "_id" : 10,
"groups" : [
{
"members" : ["Mark"],
"name" : "My Friends"
},
{
"name" : "Colleagues"
},
{
"name" : "Buddies"
},.....
],.. }
请建议我。提前谢谢。
我正在尝试但它不起作用 db.users.update({},{$ push:{" groups。$。email":' abc'}},true,true);
答案 0 :(得分:0)
要完成此操作,您需要使用$elemMatch运算符。具体来说,你想要:
db.users.update({_id:10,groups:{$elemMatch:{name:"My Friends"}}},{$push: {"groups.$.email":"abc"}},false,true);
重要的是,$ elemMatch会将数组指针设置为匹配的确切元素,因此您可以在此处推送。