【问题标题】:append to multi-dimensional subdocument附加到多维子文档
【发布时间】:2015-02-06 03:43:16
【问题描述】:

我想为组中的每个子文档添加一个新的文件,例如“电子邮件”

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

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

                "name" : "Colleagues" 
        }, 
        { 

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

请给我建议。提前致谢。

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

【问题讨论】:

  • 该问题需要更多信息,例如您将为每个子文档的 email 字段设置什么值?
  • db.users.update({},{$push: {"groups.$.email": 'abc'} }, false, true);

标签: mongodb subdocument


【解决方案1】:

为此,您需要使用$elemMatch 运算符。具体来说,您希望:

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

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

【讨论】:

    猜你喜欢
    • 2017-03-31
    • 2014-07-07
    • 2011-07-16
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 2022-12-18
    相关资源
    最近更新 更多