繁体   English   中英

在MongoDB中修改嵌套文档

[英]Modifying nested document in MongoDB

我有这种结构的文件

    {
    "name" : "John David",
    "accounts" : [
            {
                    "zone" : "ABX",
                    "payments" : [
                            {
                                    "units" : 109,
                                    "price" : 965
                            },
                            {
                                    "units" : 144,
                                    "price" : 425
                            }

                    ],
                    "conn_status" : "connected",
            }
    ]}

我想修改“支付”数组对象之一,并执行以下查询,用一个(更新)对象替换现有的“支付”对象的整个集合

 db.user.update({"accounts.zone":"ABX","accounts.payments":{"units":109,"price":965}},{$set:{"accounts.$.payments":{units:111,price:443}}})

您能否建议最好的方式来更新单个文档,而使其他文档保持完整?

试试这个,这应该工作:

db.user.update({"accounts.zone":"ABX"},{$set:{"accounts.$[].payments.$[doc]":{units:111,price:443}}},{ arrayFilters: [  { "doc": {"units":109,"price":965} } ], multi: true})

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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